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

How about `enum Binary { One, Zero }`? It's tough to come up with any actual binary relationship in the real world.