Add a variant of home_for_io that consumes the handle. Refactor out common parts of the home_for_io variants.
Split out starting a listener from accepting incoming connections.

The Listener trait takes two type parameters, the type of connection and the type of Acceptor,
and specifies only one method, listen, which consumes the listener and produces an Acceptor.

The Acceptor trait takes one type parameter, the type of connection, and defines two methods.
The accept() method waits for an incoming connection attempt and returns the result.
The incoming() method creates an iterator over incoming connections and is a default method.

Example:

let listener = TcpListener.bind(addr); // Bind to a socket
let acceptor = listener.listen(); // Start the listener
for stream in acceptor.incoming() {
    // Process incoming connections forever (or until you break out of the loop)
}
Parse and reserve typeof keyword. #3228
Emit a better error for attempted unsafe-pointer-self. Close #8306.
Consolidate local_data implementations, and cleanup

This moves all local_data stuff into the `local_data` module and only that
module alone. It also removes a fair amount of "super-unsafe" code in favor of
just vanilla code generated by the compiler at the same time.

Closes #8113
rustc: Use "main" entry point on Windows

Fixes #8510.
Remove offset_inbounds for an unsafe offset function
Add tests for ref in closure parameter list, closes #5239
Added libstd and libextra unit tests to check-fast target.
Fixed MemoryMap on Windows.
Disabled failing parts of abs_sub() and frexp() unit tests on Windows.
Turned off libstd unit tests that currently fail on Windows.
Run gyp_uv with CFG_PYTHON instead of directly

The syntax of the script requires python < 3, and so does our build system so we
can just use CFG_PYTHON to run the script. This prevents build failures where
`python` is actually python3 or later.
auto merge of #8821 : alexcrichton/rust/fix-libuv-build, r=huonw

The syntax of the script requires python < 3, and so does our build system so we
can just use CFG_PYTHON to run the script. This prevents build failures where
`python` is actually python3 or later.
src/test/bench: restructure
Teach compiletest to use multiple --src-base's
Teach the makefile to use multiple src-base's
Remove --newrt option
Android: Pass the environment when running tests
auto merge of #8806 : klutzy/rust/winmain, r=cmr

Fixes #8510.