Implement `map_mut` on the Option type

Closes #7394
Fail when a vec::reserve is too large
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
Use po4a to provide translatable documentation

This commit add a new "docs-l10n" make target which uses po4a to:
* create .pot (PO templates) from markdown doc
* update templates and po for enabled languages
* generate translated markdown for completed (> 80%) translations

Currently, no language has been activated.

Signed-off-by: Luca Bruno <lucab@debian.org>
Generate initial translatable templates for documentation

These files are automatically genereated by `make docs-l10n` (via po4a),
which will also take of updating them if the original .md changes.

Signed-off-by: Luca Bruno <lucab@debian.org>
iterator: Add `IteratorUtil::peek_` method
remove some method resolve workarounds
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 #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.