Implement `map_mut` on the Option type

Closes #7394
Added support for struct-like enum variants in middle::ty::enum_variants().
Make the error messages that result from referencing
nonexistent traits consistent, and add a test.
Address @catamorphism's error message grammar nit.
rustc: improve -Z trans-stats to report per-fn LLVM instruction counts and translation timing
Fail when a vec::reserve is too large
Use #[allow(warnings)] in rusti instead of explicitly listing warnings
Removed drop from the keyword list in the docs
Copy the correct libs when using local-rust-root

This fixes a segfault when configuring rust to use local-rust-root. The
libraries were renamed in the 0.6-0.7 transition, and the script was not copying
them all. I also removed the line referencing libcore (now libstd).
libsyntax: fix infinite loop when recursively including modules

Fixes #7276
Move `extra::net_*` to `extra::net::*` properly.

Where * = tcp, ip, url.

Formerly, extra::net::* were aliases of extra::net_*, but were the
recommended path to use. Thus, the documentation talked of the `net_*`
modules while everything else was written expecting `net::*`.

This moves the actual modules so that `extra::net::*` is the actual
location of the modules.

This will naturally break any code which used `extra::net_*` directly.
They should be altered to use `extra::net::*` (which has been the
documented way of doing things for some time).

This ensures that there is one, and only one, obvious way of doing
things.
Remove superfluous super::super::
vec: Add .pop_opt() -> Option<T>

Add a function to safely retrieve the last element of a ~[T], as
Option<T>. Implement pop() using pop_opt(); it benches the same as the
old implementation when tested with optimization level 2.
vec: Add .shift_opt() -> Option<T>

Add a function to safely retrieve the first element of a ~[T], as
Option<T>. Implement shift() using shift_opt().

Add tests for both .shift() and .shift_opt()
Switch json parsing to read_chars for performance

Avoids the overhead of read_char for every character.

Benchmark reading example.json 10 times from
https://code.google.com/p/rapidjson/wiki/Performance

Before: 2.55s
After:  0.16s

Regression testing is already done by isrustfastyet.
str: stop encoding invalid out-of-range `char`
Faster check for ascii-space

Since ' ' is by far one of the most common characters, it is worthwhile
to put it first, and short-circuit the rest of the function.

On the same JSON benchmark, as the json_perf improvement, reading example.json
10 times from https://code.google.com/p/rapidjson/wiki/Performance.

Before: 0.16s
After: 0.11s
Added external iterators for SmallIntMap and SmallIntSet

Adding iterators for extra::smallintmap

Working on mutability error

Ran into ICE

More mutability problems

Working through mutability issue

working on getting tests passing

SmallIntMa tests passing

Added SmallIntSet iterators, and the tests are passing

Stripped trailing spaces

Removed extra use directive
Merge branch 'unicode_perf' into json_perf
remove extra::rope

It's broken/unmaintained and needs to be rewritten to avoid managed
pointers and needless copies. A full rewrite is necessary and the API
will need to be redone so it's not worth keeping this around.

Closes #2236, #2744