Implement `map_mut` on the Option type

Closes #7394
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).
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
Merge branch 'unicode_perf' into json_perf
iterator: Add `IteratorUtil::peek_` method
remove some method resolve workarounds
auto merge of #7586 : g5pw/rust/master, r=cmr

This updates the script in src/etc/local_stage0.sh to copy the correct libraries
to stage0.
Fix a warning when generating tests
Add rusti/rustpkg to check-lite

Ironically also disable rusti tests for now, but mainly because they're awaiting
LLVM upgrades before proceeding
auto merge of #7591 : alexcrichton/rust/fix-warnings, r=huonw

Closes #7589
auto merge of #7497 : alexcrichton/rust/issue-7394, r=huonw
vec: make vec_reserve_shared_actual private
add a temporary vector_exchange_malloc lang item
Merge pull request #7595 from thestinger/iterator

remove some method resolve workarounds
remove headers from exchange allocations
auto merge of #7605 : thestinger/rust/vec, r=Aatch

This is work continued from the now landed #7495 and #7521 pulls.

Removing the headers from unique vectors is another project, so I've separated the allocator.
Avoid unused allocas for immediate return values

There's no need to allocate a return slot for anykind of immediate
return value, not just not for nils. Also, when the return value is
ignored, we only have to copy it to a temporary alloca if it's actually
required to call drop_ty on it.
auto merge of #7568 : alexcrichton/rust/check-lite, r=huonw

A lot of cross-platform issues stem from rusti/rustpkg, so include these two test suites in the 'check-lite' target which is run on the cross-compile bots. It shouldn't be much of a performance hit because these suites are pretty fast to run.

Hopefully this will make snapshot/tarball creation easier in the future.