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.
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.
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.
libsyntax: De-mut the pipe compiler
libsyntax: De-mut the macro parser. rs=demuting
libsyntax: De-mut the parser. rs=demuting
libsyntax: Remove all mutable fields from libsyntax. rs=demuting
etc: Suppress the remaining Valgrind error in rustdoc. rs=burningtree
librustpkg: De-mut librustdoc and librustpkg. rs=demuting