RFC: deref coercions

Add the following coercions:

* From `&T` to `&U` when `T: Deref<U>`.
* From `&mut T` to `&U` when `T: Deref<U>`.
* From `&mut T` to `&mut U` when `T: DerefMut<U>`

These coercions eliminate the need for "cross-borrowing" (things like `&**v`) and calls to `as_slice`.

[Rendered](https://github.com/aturon/rfcs/blob/deref-coercions/active/0000-deref-coercions.md)
Are we expecting things besides smart pointer types to implement Deref?  I thought that was the thrust of the argument regarding implicit calls to user defined code.