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.
Fix #5270: another test I did not update properly.
add regions, unicode idents, attributes to GtkSourceView language-spec
Install librustllvm.so to target lib directory
auto merge of #7795 : sp3d/rust/master, r=z0w0

This should be pretty self-explanatory. The most important component is region/lifetime annotation highlighting, as previously they were interpreted as character literals and would ruin the rest of the line. The attribute regex is fairly crude, but it gets the job done and there's not much within attributes that would benefit from individual highlighting, so fancier handling didn't seem worth the trouble.

The ident regex was copied from the vim highlighter.
auto merge of #7796 : thomaslee/rust/issue-6247, r=z0w0

This closes #6247 by simply ensuring librustllvm.so gets installed to the target lib directory in addition to the host lib directory.
cmp: Use default methods in trait Eq, require only Eq::eq
auto merge of #7799 : blake2-ppc/rust/eq-default, r=sanxiyn

Let Eq::ne be implemented to the inverse of eq by default.
testsuite: Add xfailed test case for #6128
auto merge of #7802 : catamorphism/rust/issue-6128, r=catamorphism
rustpkg: Handle local git repositories

rustpkg can now build code from a local git repository. In the
case where the local repo is in a directory not in the RUST_PATH,
it checks out the repository into a directory in the first workspace
in the RUST_PATH.

The tests no longer try to connect to github.com, which should
solve some of the sporadic failures we've been seeing.
auto merge of #7681 : catamorphism/rust/rustpkg-local-repos, r=catamorphism

r? @graydon rustpkg can now build code from a local git repository. In the
case where the local repo is in a directory not in the RUST_PATH,
it checks out the repository into a directory in the first workspace
in the RUST_PATH.

The tests no longer try to connect to github.com, which should
solve some of the sporadic failures we've been seeing.
std: add consuming iterators for `HashMap` and `HashSet`
auto merge of #7806 : apasel422/rust/hash_consume, r=catamorphism

This partially addresses #7719.
ringbuf: Implement DoubleEndedIterator
auto merge of #7808 : blake2-ppc/rust/ringbuf, r=thestinger
hashmap: Remove .mutate_values() which is replaced by .mut_iter()
hashmap: Iterators for hashset diff, sym. diff, intersec, union

Implement the difference, union, etc iterators with the help of a custom
iterator combinator with explicit closure environment. Reported issue #7814
to be able to use the std::iterator filter combinator.
auto merge of #7815 : blake2-ppc/rust/hashmap-iterators, r=huonw

Implement set difference, sym. difference, intersection and union using Iterators.

The set methods are left since they are part of the Set trait. A grep over the tree indicates that the four hashset operations have no users at all.

Also remove HashMap::mutate_values since it is unused, replaced by .mut_iter(), and not part of a trait.