Forbid partial outbound moves from immutable variables

This RFC proposes that the semantics of immutable variables be refined by forbidding partial outbound moves, so:

1. immutable variables in Rust become more immutable;
2. guaranteed lifetimes for values with move semantics ("movable values") can be achieved by combining this with explicit `drop` calls.

This makes `NoisyDrop`/`QuietDrop` from #210 unnecessary.

[Rendered View](https://github.com/CloudiDust/rfcs/blob/refine-immutables/active/0000-refine-immutables.md).

@iopq https://github.com/rust-lang/rust/wiki/Note-development-policy#conduct

Please review the first, third, sixth and eighth bullets.