Report error for non constant vector repeat count

Fix issue #3645
test: xfail-pretty some benchmarks. rs=burningtree
submodule: libuv for android
Emacs: Update emacs mode to be more similar to the vim mode.

Copy the keyword list, and add `self` so that it is somewhat highlighted
(being liberal with the correct categories).
libsyntax: Convert ast::attribute_ to store a @meta_item
libsyntax: add explicit modes where required to copy strs/vecs
libsyntax: minor cleanup
libsyntax: convert visit to pass ty_params by reference
libsyntax: progress on making syntax::visit vecs_implicitly_copyable-free
libsyntax: make lexer vecs_implicitly_copyable-free
Fix typo in grammar: underscore, not minus, can appear amongst hex digits.
etc: Add a suppression for more enum instruction scheduling botches. rs=burningtree
test: Residual de-muting of the test suite. rs=demuting
test: De-~mut the test suite. rs=demuting
Revert "test: De-~mut the test suite. rs=demuting"

This reverts commit f63efdc2100ff28e2a42600641835e7bd8bde591.
auto merge of #5095 : thestinger/rust/smallintmap, r=catamorphism

Closes #4738.

The `std::smallintmap` module doesn't use an implicit @ box so I just added that explicitly for now to make porting simple.
auto merge of #5072 : youknowone/rust/repeat_count, r=brson

Fix issue #3645
Stop parsing capture clauses
auto merge of #5084 : oncemoreification/rust/issue-4517, r=brson

Patch for #4517

This works for fixed vectors, but I am unclear how slices should be printed, simply '&[...]'  or...

e.i. How should regions be printed?
auto merge of #5089 : sanxiyn/rust/llvm-struct, r=pcwalton

Note on `struct_elt`: the comment is wrong, it actually dereferences the nth element of LLVM struct type if it is a pointer. That's why `T_ptr` is removed in `callee.rs`.