Relaxing the borrow checker for fn (&mut self) -> &T

Indeed, this idea was first floated as part of the work on supporting nested method calls -- here is the latest thread where we were talking about it. That thread also includes, btw, what seems to me to be the perfect example of why downgrading would require some kind of affirmative declaration.

(My general take is that having mutable refs have 2 lifetimes might be a nice addition, but I think we should not do it to start, and we should focus on NLL + simple nested method calls to start.)