Allow implicit coercions for cross-borrows.

Wherever a type implements `Deref<T>`, allow an implicit coercion to `&T`. Removes the need for most occurrences of `&*`.
It might be wrong actually. I was imagining `*e` would happen first, then we would implicitly coerce to `&**e` and finally the explicit `&` would give `&&**e`. If we allow coercions at `&e` but not at `*e`, then I think there is no ambiguity. This distinction does seem a bit ad-hoc though (it follows where we have an expected type in the type checker at the moment). I have another RFC which goes in to depth on sites for coercions, for this RFC I'm just kind of assuming that is nailed down elsewhere.