librustc: Implement overloading for the call operator behind a feature
gate.

This is part of unboxed closures.
std: Read HOME instead of USER

Apparently one of the linux bots doesn't have the USER variable defined, and
this fix will likely land more quickly than a fix to the bots.
auto merge of #14775 : alexcrichton/rust/fix-master, r=brson

Apparently one of the linux bots doesn't have the USER variable defined, and
this fix will likely land more quickly than a fix to the bots.
Implement #[plugin_registrar]

See RFC 22.

[breaking-change]
Use phase(plugin) in bootstrap crates

Do this to avoid warnings on post-stage0 builds.
Use phase(plugin) in other crates
Use phase(plugin) in tests
Convert libraries to use #[plugin_registrar]
Convert tests to use #[plugin_registrar]
Add a test for deprecated phase(syntax)
Document rustc::plugin
Macro crates now depend on librustc
auto merge of #14554 : kmcallister/rust/plugin_registrar, r=cmr

This implements the design in rust-lang/rfcs#86.  It shouldn't be merged until that RFC is accepted, but it would be great if somebody has time to review the code before then.
auto merge of #14590 : pcwalton/rust/overloaded-call, r=nick29581

gate.

This is part of unboxed closures.

r? @nick29581
librustc: Implement sugar for the `FnMut` trait