std::rand: remove the `fn main()` from the examples.
std::hashmap: add an example to mangle.
Bring native process bindings up to date

Move the tests into libstd, use the `iotest!` macro to test both native and uv
bindings, and use the cloexec trick to figure out when the child process fails
in exec.
Implement native TCP I/O
Initialize LLVM only once

This also appears to fix a race in LLVM that was causing a deadlock on the bots
during the doc-test tests (where we use rustc in parallel).
Update tutorial.md : rename pkgid to crate_id
auto merge of #11170 : alexcrichton/rust/fix-llvm-race, r=pcwalton

This also appears to fix a race in LLVM that was causing a deadlock on the bots
during the doc-test tests (where we use rustc in parallel).
rustc: Fix a borrow failure in `.ln_str()`

`ln_str` caused ICE if `RUST_LOG=rustc::middle::liveness` is given
due to borrow failure.
auto merge of #11159 : alexcrichton/rust/native-io, r=pcwalton

The old `rtio-processes` run-pass test is now moved into libstd's `io::process` module, and all process and TCP tests are now run with `iotest!` (both a native and a green version are tested).

All TCP networking on windows is provided by `ws2_32` which is apparently very similar to unix networking (hurray!).
Update bundled gyp

Closes #11152
auto merge of #11171 : eliovir/rust/patch-2, r=alexcrichton
auto merge of #11175 : klutzy/rust/ice, r=alexcrichton

`ln_str` caused ICE if `RUST_LOG=rustc::middle::liveness` is given
due to borrow failure.
std::hashmap: add an example with the basic methods.
auto merge of #11150 : huonw/rust/moar-docs, r=alexcrichton

(I removed the `fn main` from the `std::rand` examples to make it consistent with the rest of the codebase.)
auto merge of #11179 : alexcrichton/rust/update-gyp, r=cmr

Closes #11152