mk: Fix doc tests for multiple targets

It only really makes sense to run tests for the build target anyway because it's
not guaranteed that you can execute other targets.

This is blocking the next snapshot
rustc: Strip struct fields and enum variants

Closes #11085
Remove out of date test

The associated issue has been closed for 2 years!
auto merge of #11139 : alexcrichton/rust/fix-snapshots, r=luqmana

It only really makes sense to run tests for the build target anyway because it's
not guaranteed that you can execute other targets.

This is blocking the next snapshot
Method-ify CStore
auto merge of #11146 : sfackler/rust/cleanup, r=alexcrichton

I also deleted a test which has apparently not been needed for a very long time.
Test fixes and rebase conflicts

* vec::raw::to_ptr is gone
* Pausible => Pausable
* Removing @
* Calling the main task "<main>"
* Removing unused imports
* Removing unused mut
* Bringing some libextra tests up to date
* Allowing compiletest to work at stage0
* Fixing the bootstrap-from-c rmake tests
* assert => rtassert in a few cases
* printing to stderr instead of stdout in fail!()
auto merge of #10965 : alexcrichton/rust/libgreen, r=brson

This pull request extracts all scheduling functionality from libstd, moving it into its own separate crates. The new libnative and libgreen will be the new way in which 1:1 and M:N scheduling is implemented. The standard library still requires an interface to the runtime, however, (think of things like `std::comm` and `io::println`). The interface is now defined by the `Runtime` trait inside of `std::rt`.

The booting process is now that libgreen defines the start lang-item and that's it. I want to extend this soon to have libnative also have a "start lang item" but also allow libgreen and libnative to be linked together in the same process. For now though, only libgreen can be used to start a program (unless you define the start lang item yourself). Again though, I want to change this soon, I just figured that this pull request is large enough as-is.

This certainly wasn't a smooth transition, certain functionality has no equivalent in this new separation, and some functionality is now better enabled through this new system. I did my best to separate all of the commits by topic and keep things fairly bite-sized, although are indeed larger than others.

As a note, this is currently rebased on top of my `std::comm` rewrite (or at least an old copy of it), but none of those commits need reviewing (that will all happen in another pull request).
auto merge of #11127 : huonw/rust/vec-docs, r=alexcrichton
std::rand: remove the `fn main()` from the examples.
std::hashmap: add an example to mangle.
Register new snapshots
auto merge of #11148 : alexcrichton/rust/snapshots, r=luqmana

C++ is gone for good and `crate_id` is the new `pkgid`.
std: remove some test warnings
std: result::collect to take an iterator, add option::collect
librustc: Change `@mut Block` to `@Block`.
librustc: De-`@mut` `FnCtxt`.
librustc: De-`@mut` the type interner
librustc: De-`@mut` the `node_type_substs` table
librustc: De-`@mut` the type context's `methods` table