extra: make sure time::match_digits does not read past the end of the str
std: replace str::as_c_str with std::c_str
auto merge of #8260 : omasanori/rust/fix-extra-unicode, r=pcwalton

WIth this patch `RUSTFLAGS='--cfg unicode' make check"` passed successfully.

* Why doesn't `#[link_name="icuuc"]` make libextra to link against libicuuc.so?
* In `extra::unicode::tests`, `use unicode; unicode::is_foo('a')` failed but `use unicode::*; is_foo('a')` succeeded. Is it right?
std::rt: Improve the error message when the thread-local ptr is null

Also fix some incorrect comments and variable names.
std::rt: Run the tests for Local in a bare thread

Otherwise interferes with the existing runtime
std::rt: 3MB stacks!

rustc needs *even more* megabytes when run without optimizations
std::rt: Don't allow schedulers to exit before handling all messages

Every time run_sched_once performs a 'scheduling action' it needs to guarantee
that it runs at least one more time, so enqueue another run_sched_once callback.
The primary reason it needs to do this is because not all async callbacks
are guaranteed to run, it's only guaranteed that *a* callback will run after
enqueing one - some may get dropped.

At the moment this means we wastefully create lots of callbacks to ensure that
there will *definitely* be a callback queued up to continue running the scheduler.
The logic really needs to be tightened up here.
std::rt: Remove the test for context()

This is no longer testable once newsched is turned on
Remove old tests and code for `select`

Not compatible with newsched
fix warning still mentioning the `again` keyword
Implemented iterator for TrieMap

Closes #5506.
std and rustc: explicitly pass c strings to c functions

When strings lose their trailing null, this pattern will become dangerous:

let foo = "bar";
let foo_ptr: *u8 = &foo[0];

Instead we should use c_strs to handle this correctly.
std: merge str::raw::from_buf and str::raw::from_c_str
std: remove use of cast module from os.
Remove trailing null from strings
Remove debug printing.
Merge remote-tracking branch 'remotes/origin/master' into str-remove-null
auto merge of #8218 : brson/rust/nogc, r=brson

These are both obsoleted by the forthcoming new GC.
Add support for vanilla linux on arm.
auto merge of #8282 : brson/rust/more-newsched-fixes, r=brson