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.
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.
auto merge of #5083 : graydon/rust/gc, r=graydon

r? @pcwalton

Local testing shows it's correctly putting things like ~(@10) in the managed heap. Not entirely sure how to turn such tests (which just log annihilation stats) into a regression test; we don't have much in the way of feedback from the annihilator. Open to suggestions. I will want to be keeping more detailed runtime stats on the gc as I proceed.
auto merge of #5051 : bstrie/rust/deimpself, r=pcwalton

With the exception of three places where explicit self ran into borrowing errors. Will try those again once borrowing is refined.
auto merge of #5081 : brson/rust/pipes, r=pcwalton

r?