Create man pages for rust tools
Add new manpages to install script
Updated rustpkg man page to match 0.7
Constrain maximum lifetime of stack closures that capture variables to
be limited by the innermost repeating scope.

Fixes #7336.
Use purely an owned vector for storing TLS data
Change the elements in the task-local map to be actual key-value pairs
Change TLS to almost be able to contain owned types
Rename local_data methods/types for less keystrokes
Refactored int/uint range code in preparation for change to range_rev semantics.

Also added unit tests of range code to test refactoring.  The
num-range-rev.rs test will need to be updated when the range_rev
semantics change.
Switch over to new range_rev semantics; fix #5270.
Add a lint to detect unnecessarily qualified names
Implement SIMD arithmetics
Change the assert_eq message to be more verbose.

Closes #6221
fix test
Convert json Reader to iterators

This is much faster for strings, and eventually when there is a
buffered reader of some sort.

Reading example.json 100 times before was around 1.18s.
After:
- reading from string 0.68s
- reading from file 1.08s (extra time is all in io::Reader)
Add a compile-fail test for qualification lint
remove unused imports
unnecessarily mutable variables
unused variable
iterator: add DoubleEndedIterator concept

This implements the trait for vector iterators, replacing the reverse
iterator types. The methods will stay, for implementing the future
reverse Iterable traits and convenience.

This can also be trivially implemented for circular buffers and other
variants of arrays like strings and `SmallIntMap`/`SmallIntSet`.

The `DoubleEndedIterator` trait will allow for implementing algorithms
like in-place reverse on generic mutable iterators.

The naming (`Range` vs. `Iterator`, `Bidirectional` vs. `DoubleEnded`)
can be bikeshedded in the future.