core::rt Wire up task-local storage to the new scheduler
Added missing assert, did some formating
core::rt: Make I/O constructors return Option instead of Result

For consistency, for all I/O calls, inspecting the error can be done with
the io_error condition.
core::rt: Move the definition of Listener to rt::io
auto merge of #5971 : pcwalton/rust/is-absolute, r=pcwalton

r? @jdm last commit
Make conditions public. #6009
libstd: correct bigint's quot/rem, div/modulo
core::rt: Add implementations of Reader, Writer, and Listener for Option

These will make it easier to write I/O code without worrying about errors
auto merge of #5966 : alexcrichton/rust/issue-3083, r=graydon

Closes #3083.

This takes a similar approach to #5797 where a set is present on the `tcx` of used mutable definitions. Everything is by default warned about, and analyses must explicitly add mutable definitions to this set so they're not warned about.

Most of this was pretty straightforward, although there was one caveat that I ran into when implementing it. Apparently when the old modes are used (or maybe `legacy_modes`, I'm not sure) some different code paths are taken to cause spurious warnings to be issued which shouldn't be issued. I'm not really sure how modes even worked, so I was having a lot of trouble tracking this down. I figured that because they're a legacy thing that I'd just de-mode the compiler so that the warnings wouldn't be a problem anymore (or at least for the compiler).

Other than that, the entire compiler compiles without warnings of unused mutable variables. To prevent bad warnings, #5965 should be landed (which in turn is waiting on #5963) before landing this. I figured I'd stick it out for review anyway though.
auto merge of #5980 : Kimundi/rust/ascii-encoding, r=thestinger

Added Ascii type to use for byte inputs that are known to contain Ascii only.
core::rt: Add unwinding to newsched tasks
auto merge of #5996 : sanxiyn/rust/target-feature, r=graydon

Fix #1879.
Revert "Errors with the same span print the span once"

This reverts commit 6030e3982a52c8d9ede225f992088bb75fba4ef1.
docs: Sketch out rustpkg manual
rustpkg: In doc, mention other implicit RUST_PATH entries

as per Graydon's comment
auto merge of #6007 : pcwalton/rust/use-mod, r=brson

r? @brson
mk: Pass CFLAGS to the uv build
core::rt: Fix a use after free in uv 'write'
core: ignore test from_str_ignore_underscores. Broken on i686. #6018
test: fix for missing ARM support