Refactored make_absolute into functionality on the Path
Improved windows path handling support
Added is_restricted() to path
Moved core::extfmt to core::private::extfmt

Needs a snapshot to remove stage0 extfmt export in core
Remove the last bits of structural records from tests/rustc/rusti/rustpkg.
librustc: De-mut resolve. rs=demuting
librustc: De-mut some of trans
librustc: De-mut trans. rs=demuting
librustc: Remove all mutable fields from librustc. rs=demuting
Cleanup, commenting, trivial renaming
bump up limit on monomorphization
librustc: Fix broken test.
Fix private::exclusive_unwrap_conflict test. Fixes #4689.
auto merge of #5059 : Kimundi/rust/incoming, r=catamorphism

compiles-as-is, but needs a snapshot to remove the `stage0`ed extfmt export in core.

Closes #4750
auto merge of #5075 : luqmana/rust/derec, r=catamorphism

Now only `lib core/pipes.rs` has `#[allow(structural_records)]`. That can be removed after a snapshot.
core: Extract comm from pipes. #4742
auto merge of #5076 : pcwalton/rust/demuting, r=pcwalton
auto merge of #5077 : jbclements/rust/increase-monomorphization-depth-limit, r=catamorphism

It appears that using deriving_eq/auto_encode on ASTs bumps up against the "gee this looks like infinite unfolding" limit of 10 in monomorphization. Increasing it to 30 seems to solve this problem for me....

Also, commenting and a few renames.
De-implicit-self librustc
Put unique allocs in managed heap when they might contain managed boxes.