Adds conditional byteswapping intrinsics

These intrinsics are synthesized, so maybe they should be in another
file. But since they are just a single line of code each, based on the
bswap intrinsics and aren't really intended for public consumption (they should be exposed as a
single function / trait) I thought they would fit here.
rust.vim: Links previously unused rustFuncCall

This allows for highlighting of function calls
for free floating, member, and static functions.
testsuite: Add test cases, some xfailed

Closes #5060
Closes #4446
Closes #5192
mk: add mechanisms for triggering clean-llvm builds from commits
std: adjust run.rs test for android
ctags: add macros
librustc: don't skip ahead when computing register types of SSEFloatVectors

Also fixes an unrelated typo (found by comparing to the original code
of the clay project) and some cleanup.

Fixes #7415.
Optimize str::each_split_within when it is called with large limits
Change taskgroup key type to fn:Copy in prep for noncopyable stack closures.
Use more deriving(IterBytes) in libsyntax.
Use more deriving(IterBytes) in librustc.
'Borrow' stack closures rather than copying them (e.g., "|x|f(x)"), in prep for making them noncopyable.
Make librust satisfy noncopyable stack closures
Trade stack closure copyability for type soundness.
Add two tests for the case of the recurring closure.
auto merge of #7363 : bblum/rust/soundness, r=nikomatsakis

The commit f9a5453 is meant to be a temporary hold-over. Whether or not there is added a way for the compiler to "implicitly borrow" stack closures in this way, there should be a codegen optimization that prevents having to traverse possibly-very-many function pointers to find the function you ultimately wanted to call. I tried to separate out the changes so this particular commit could be straight-up reverted if auto-borrowing happens in the future.

r? @nikomatsakis
auto merge of #7441 : catamorphism/rust/testcases_2013-06-27, r=catamorphism
Add missing argument to a debug! call in trans_arg_expr
Avoid extra casts for "self" arguments

"self" is always passed as an opaque box, so there's no point in using
the concrete self type when translating the argument. All it does it
causing the value to be casted back to an opaque box right away.
auto merge of #7442 : graydon/rust/clean-llvm-trigger, r=brson

This makes it possible for us to trigger the llvm-clean make-target by checking in a change that touches rustllvm/llvm-auto-clean-stamp. Most developers don't need to see or know about this, but when you push a change that "needs an LLVM rebuild", even if not otherwise obvious, this should give a mechanism to do it.