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).

Do we really need to pedantically defend this choice? It's an example, no need to make a social statement by keeping it precisely like this.