librustc: Implement `#[no_main]`, which omits the entry point entirely.

Useful for SDL and possibly Android too.
Additional check in treemap iterator test.
Remove redundant print.
Implemented TreeMap::{lower_bound_iter,upper_bound_iter}

(issue #4604)
std: Fix newsched logging truncation

The truncation needs to be done in the console logger in order
to catch all the logging output, and because truncation only matters
when outputting to the console.
std::rt: Schedule more scheduler callbacks to avoid dropping messages
auto merge of #8299 : brson/rust/yet-more-newsched-fixes, r=brson
std::rt: Use magic to make TLS work from annihilated boxes. #8302
auto merge of #8303 : brson/rust/tls-magic-wtf, r=brson
Add extra::arena::Arena::new{, _with_size}.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
auto merge of #8227 : dim-an/rust/tree-iter, r=thestinger
auto merge of #8279 : pcwalton/rust/no-main, r=brson

Useful for SDL and possibly Android too.

r? @brson
auto merge of #8183 : omasanori/rust/migrate-new, r=sanxiyn

It seems that relatively new code uses `Foo::new()` instead of `Foo()` so I wrote a patch to migrate some structs to the former style.
Is it a right direction? If there are any guidelines not to use new()-style, could you add them to the [style guide](https://github.com/omasanori/rust/wiki/Note-style-guide)?
debuginfo: Implemented proper handling of lexical scopes and variable shadowing.