auto merge of #7792 : ozten/rust/master, r=huonw

Minor tweak, but I was confused when first digging into json.rs docs.

I think it's clearer to say the module provides parsing and serialization.
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.
remove headers from unique vectors
auto merge of #7816 : thestinger/rust/header, r=huonw

Note that the headers are still on `~[T]` when `T` is managed. This is continued from #7605, which removed all the code relying on the headers and removed them from `~T` for non-managed `T`.