std::rt: require known stack bounds for all tasks.

We just approximate with a 1 or 2 MB stack for native::start.
Remove unnecessary substitution of type params when generating
vtable methods before translating the ref to the method itself.
librustc: Move block contexts into per-function arenas, and
stack-allocate function contexts.
Fixed Gc::clone, implemented Gc::ptr_eq
Fix leaking trait imports across modules

Turns out the pass in resolve was a little too eager to travel back up the
hierarchy chain when looking for trait candidates.

Closes #10465
rustc: De-indent portions of middle::resolve

It's a little prettier to look at now
std: Fill in all missing imports

Fallout from the previous commits
Fix remaining cases of leaking imports
stdtest: Fix all leaked trait imports
extratest: Fix all leaked trait imports
Fixup the rest of the tests in the compiler
Fix CodeMap issue in expand_include_str()
auto merge of #11370 : alexcrichton/rust/issue-10465, r=pwalton

Turned out to be a 2-line fix, but the compiler fallout was huge.
auto merge of #11401 : michaelwoerister/rust/issue11322, r=alexcrichton

`expand_include_str()` in libsyntax seems to have corrupted the CodeMap by always setting the BytePos of any included files to zero. It now uses `CodeMap::new_filemap()` which should set everything properly. This should fix issue #11322 but I don't want to close it before I have confirmation from the reporters that the problem is indeed fixed.
Robustly read remaining bytes in a character

Closes #11372
auto merge of #11375 : alexcrichton/rust/issue-11372, r=pcwalton

Closes #11372
Fix windows installer version to be less verbose
Update some copyright dates
Merge some numeric traits with Real and don't re-export RealExt

The methods contained in `std::num::{Algebraic, Trigonometric, Exponential, Hyperbolic}` have now been moved into `std::num::Real`. This is part of an ongoing effort to simplify `std::num` (see issue #10387).

`std::num::RealExt` has also been removed from the prelude because it is not a commonly used trait.
Remove ApproxEq and assert_approx_eq!

This trait seems to stray too far from the mandate of a standard library as implementations may vary between use cases.