remove more dead code from the old `for`
doc: Add -M and -L option to po4a
doc: Update .pot files
doc: Generate .po files for Japanse translations
tutorial: Add Japanese translation
Remove unnecessary return
std::at_vec: add benchmarks
librustc: Allow vector repeat exprs in statics.
Add RngUtils::sample() method for reservoir sampling from iterators
Remove unused automatic cfg bindings Fixes #7169
Add test for repeat expr in statics.
Add a bunch of tests for closed issues

Closes #3907
Closes #5493
Closes #4464
Closes #4759
Closes #5666
Closes #5884
Closes #5926
Closes #6318
Closes #6557
Closes #6898
Closes #6919
Closes #7222
Methodyfied the string ascii extionsion functions
Added into_owned() method for vectors
Added DoubleEnded Iterator impl to Option
Renamed nil.rs to unit.rs
rustc: allow @ as-patterns to move when the sub-pattern contains no bindings.

A pattern like `foo @ Foo(Bar(*), _)` should be legal, even if `foo` moves,
since the subpatterns are purely structural.

Fixes #3761.
std: Move the iterator param on FromIterator and Extendable to the method.

If they are on the trait then it is extremely annoying to use them as
generic parameters to a function, e.g. with the iterator param on the trait
itself, if one was to pass an Extendable<int> to a function that filled it
either from a Range or a Map<VecIterator>, one needs to write something
like:

    fn foo<E: Extendable<int, Range<int>> +
              Extendable<int, Map<&'self int, int, VecIterator<int>>>
          (e: &mut E, ...) { ... }

since using a generic, i.e. `foo<E: Extendable<int, I>, I: Iterator<int>>`
means that `foo` takes 2 type parameters, and the caller has to specify them
(which doesn't work anyway, as they'll mismatch with the iterators used in
`foo` itself).

This patch changes it to:

    fn foo<E: Extendable<int>>(e: &mut E, ...) { ... }
auto merge of #8452 : Kimundi/rust/stuff02, r=bstrie

- Methodyfied the string ascii extionsion functions - They got added recently, I wrapped them in a trait.
- Added `into_owned()` method for vectors - similar to `Str`'s `into_owned()` function, allows to convert to a owned vector without making a copy if the source is a owned vector.
- Added `or_some` method to option - similar to `unwrap_or_default`, but keeps the values wrapped in an `Option`. Useful for `Option` chains, eg Iterator impls.
- Added `DoubleEndedIterator` impl to `Option` - Just for compatibility with generic Iterator functions.
- Renamed nil.rs to unit.rs - the type got renamed ages ago, it's time the source file is as well.
auto merge of #8462 : thestinger/rust/loop-cleanup, r=cmr

I missed some of this in e7bb33aed889aebae1b141cdcc2aeeebab1724ee. Hopefully it's all gone now :).
Rewrite Saturating in terms of CheckedAdd/CheckedSub
auto merge of #8469 : gifnksm/rust/tutorial-ja, r=graydon

This PR adds an Japanese translated version of `doc/tutorial.md`.
Other tutorials have not yet translated.
rustc: Eliminate a derived error in check::_match