Rename assert_eq arguments to left and right.

The names expected and actual are not used anymore in the output. It also
removes the confusion that the argument order is the opposite of junit.
Add comments with type annotations.

This will hopefully help people with their first steps in Rust.

Fixes #16143.
Use rust-installer for installation

This is just a refactoring of the current installer so that Rust and Cargo
use the same codebase.

cc #16456
serialize: Avoid stray nul characters when auto-serializing char.

Fixes #19719.
Add coercions from *mut to *const and from &mut to *const.
rustc: Don't panic on corrupt metadata

Fix a panic where the compiler was looking at stale or old metadata.

See #19798, #19772, #19757, #19744, #19718, #19691.
Make BTree's Handle system more generic and more powerful, removing some runtine checks in favor of newly gained static safety
Deprecate more in-tree libs for crates.io

This commit deprecates a few more in-tree libs for their crates.io counterparts.
Note that this commit does not make use of the #[deprecated] tag to prevent
warnings from being generated for in-tree usage. Once #[unstable] warnings are
turned on then all external users will be warned to move.

These crates have all been duplicated in rust-lang/$crate repositories so
development can happen independently of the in-tree copies. We can explore at a
later date replacing the in-tree copies with the external copies, but at this
time the libraries have changed very little over the past few months so it's
unlikely for changes to be sent to both repos.

cc #19260
syntax/ast_util: add `is_by_value_binop()`
Tell typeck which binops are by value
Tell trans which binops are by value
Tell expr_use_visitor which binops are by value
Tell regionck which binops are by value
libcore: convert binop traits to by value
libcore: fix move semantics fallout
libcollections: Vec<T> + &[T]
libcollections: String + &str
libcollections: make `EnumSet` binops by value
libstd: convert `BitFlags` binops to by value
libstd: convert `Duration` binops to by value