option: Title-case `Some` and `None` in docs and fail messages

For accuracy, say 'get_ref None' instead of 'get_ref none', and so on.
option: Add .chain_mut_ref()

.chain_mut_ref() is the mutable alternative to .chain_ref().

A use case example for this method is extraction of an optional value
from an Option<Container> value.
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.
Remove unused variables in `compile_submatch`.

Just an minor cleanup.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
rustc: remove some dead functions
tidy: allow arbitrary spaces between // and NOTE

`make tidy` now detects `//NOTE`, `//  NOTE`, etc.
This also removes the extra empty line emitted after each warning.

Fixes #6060
Add simple link_section test to exercise it
extra: use deriving more in workcache, switch to treemaps.