Exposed previously hidden 'use' statements in the tutorial's sample code.
Note incompatibility with global-whitespace-mode.

See #3994.
rt: Fix child-iteration bug in crate map.
std: add #[cfg(test)] reference to extra so we can benchmark libstd.
std: add preliminary str benchmark.
std: add #[bench] benchmarks for global and local heaps.
std: add #[bench] benchmarks for rand.
std: add #[bench] benchmarks for num::strconv
std: add benchmark for allocating-and-dropping a struct with a dtor.
std: various additional language benchmarks in util.
Add link_section attribute for static and fn items

This allows for control over the section placement of static, static
mut, and fn items.  One caveat is that if a static and a static mut are
placed in the same section, the static is declared first, and the static
mut is assigned to, the generated program crashes.  For example:

#[link_section=".boot"]
static foo : uint = 0xdeadbeef;

#[link_section=".boot"]
static mut bar : uint = 0xcafebabe;

Declaring bar first would mark .bootdata as writable, preventing the
crash when bar is written to.
Add a test for #5844 (a closed issue now)
test/run-fail: Un-xfail a test, make some other xfailed ones compile (they still don't work).
Added missing memory orderings for atomic types.
Adapted `trans::common::{block, fn_ctxt, scope_info}` to new naming convention.
auto merge of #7848 : michaelwoerister/rust/trans_cleanup_1, r=jdm

The following types are renamed:
```rust
block_ => Block
block => @mut Block

fn_ctx_ => FunctionContext
fn_ctx => @mut FunctionContext

scope_info => ScopeInfo
```
I also tried to convert instances of `@mut` to `&mut` or `&` but a lot of them are blocked by issue #6268, so I left it for some time later.
auto merge of #7954 : zslayton/rust/master, r=huonw

fixes #7689
Add simple link_section test to exercise it
extra: use deriving more in workcache, switch to treemaps.
extra: access workcache db via RWARC.