Review and rebasing changes
Change the `use of moved value` error to be more accurate

Previously it output `partially moved` to eagerly. This updates it to be more
accurate and output `collaterally moved` for use of values that were invalidated
by moves out of different fields in the same struct.

Closes #15630.
auto merge of #17620 : nick29581/rust/slice4, r=aturon

cc @aturon 

r? anyone?
Enable a test for .. in range patterns.
auto merge of #17681 : jgallagher/rust/dep-info-escape-spaces, r=alexcrichton

cc #17627
rm obsolete valgrind suppressions
rm libuv-auto-clean-trigger
remove the uv_support code
auto merge of #17434 : P1start/rust/borrowck-messages, r=nikomatsakis

This was originally part of #17215.

Closes #15506.
Closes #15630.
Closes #17263.

This also partially implements #15838.
auto merge of #17663 : eddyb/rust/method-origin-subst, r=nikomatsakis

Fixes #17662.
core: remove raw::GcBox.
rustrt: remove local_heap implementation.
std: remove gc module.
serialize: remove proxy impls for Gc<T>.
debug: remove Gc support from Repr.
syntax: remove unused imports of Gc and GC.
syntax: ast: remove TyBox and UnBox.
rustc: remove support for Gc.
rustdoc: remove handling of Gc.
docs: remove mentions of Gc.