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)
}
Moved .sleep() to Timer.
Add assert_once_ever macro. Close #7748. (fixme cf #8472)
Added home_for_io_with_sched variant. Temporarily making IO unkillable.
Add PointerKind to LpDeref
small cleanups in task/spawn.rs
Prohibit assignment to `&mut` pointers that are found in frozen or borrowed locations.

Fixes #8625.
Don't fail in port.try_recv() the second time. Close #7800.
Only bug on self-not-mapped-to-def if no previous errors were present. Close #6642.
Make json::to_xxx(&Json) fns Json::to_xxx(&self)

to_str, to_pretty_str, to_writer, and to_pretty_writer were at the top
level of extra::json, this moves them into an impl for Json to match
with what's been done for the rest of libextra and libstd.
On Windows, use g++ for linking, instead of gcc.
This is required in order to produce linked modules that perform correct registration of unwind tables.
Un-disable stack unwinding on Windows.
Emit unwind info in rustrt assembly files on Windows.
Compile via external assembler on Windows.
Enabled tests.
Cleanup assembly source.
debuginfo: Big cleanup refactoring and support for foreign_item_fn.
debuginfo: Improved handling of function preludes.
doc: add range iterators in the for loop section