Change `&` to be a borrow operator.

Change the address-of operator (`&`) to a borrow operator. This is an
alternative to #241 and #226 (cross-borrowing coercions). The borrow operator
would perform as many dereferences as possible and then take the address of the
result. The result of `&expr` would always have type `&T` where `T` does not
implement `Deref`.
I think we've already seen that this proposal together with FFI creates unpredictable results. With proposal #241 the following should always work as expected:
```
&x as *const _ as *const _
```
because there are no constraints that force `&x` to "coerce" to another type.

#241 is still possibly bad because of similar FFI reasons.