Forbid partial outbound moves from immutable variables

This RFC proposes that the semantics of immutable variables be refined by forbidding partial outbound moves, so 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.~~

(EDIT: Guaranteed lifetimes can be provided by explicit `drop` calls alone.)

[Rendered View](https://github.com/CloudiDust/rfcs/blob/refine-immutables/active/0000-refine-immutables.md).

(I'll note that @CloudiDust had a particularly good response to this issue; it might not be something they've really thought about before, but, once the issue was raised, they were clearly very happy to make the small amount of effort it takes be more inclusive. :clap: )