Enhance timers to create ports

In addition to being able to sleep the current task, timers should be able to
create ports which get notified after a period of time.

Closes #10014
Rewrite boxed_region/memory_region in Rust

This drops more of the old C++ runtime to rather be written in rust. A few
features were lost along the way, but hopefully not too many. The main loss is
that there are no longer backtraces associated with allocations (rust doesn't
have a way of acquiring those just yet). Other than that though, I believe that
the rest of the debugging utilities made their way over into rust.

Closes #8704
Make addl_lib_search_paths a HashSet (Closes #7718).
Implement another error code found on windows.

Closes #8811
Make the documentation for std::task::spawn_sched render correctly.

Currently each line is a separate bullet point in a list: http://static.rust-lang.org/doc/master/std/task/fn.spawn_sched.html
make the bottom type immediate

Before:

    define void @_ZN3bar19h9d9b965357abc043af4v0.0E({}* noalias nocapture readnone sret, { i64, %tydesc*, i8*, i8*, i8 }* nocapture readnone)

After:

    define void @_ZN3bar19h9d9b965357abc043af4v0.0E({ i64, %tydesc*, i8*, i8*, i8 }* nocapture readnone)
auto merge of #10083 : alexcrichton/rust/timer-port, r=pcwalton

In addition to being able to sleep the current task, timers should be able to
create ports which get notified after a period of time.

Closes #10014
auto merge of #10093 : alexcrichton/rust/issue-8811, r=pcwalton

Closes #8811
auto merge of #10094 : alexcrichton/rust/issue-8704, r=pcwalton

This drops more of the old C++ runtime to rather be written in rust. A few
features were lost along the way, but hopefully not too many. The main loss is
that there are no longer backtraces associated with allocations (rust doesn't
have a way of acquiring those just yet). Other than that though, I believe that
the rest of the debugging utilities made their way over into rust.

Closes #8704
auto merge of #10107 : thestinger/rust/immediate, r=huonw
auto merge of #10089 : pythonesque/rust/issue-7718, r=catamorphism

Seems pretty straightforward, but please let me know if I'm doing something wrong or the test needs to be rewritten.
Remove the extension traits for Readers/Writers

These methods are all excellent candidates for default methods, so there's no
need to require extra imports of various traits.
auto merge of #10079 : alexcrichton/rust/no-reader-util, r=brson

These methods are all excellent candidates for default methods, so there's no need to require extra imports of various traits. Additionally, this was able to remove all the weird underscores after the method names. Yay!
auto merge of #10095 : huonw/rust/master, r=cmr

Currently each line is a separate bullet point in a list: http://static.rust-lang.org/doc/master/std/task/fn.spawn_sched.html
Prepared std::sys for removal

Replaced the `FailWithCause` trait with a simpler `FailMessage` one

Changed the big macro source string in libsyntax to a raw string literal,
and enabled doc comments there