Consume once fns when calling them (#2549).
Permit moving out of captured upvars in once fns. Close #2549.
Add tests for once functions (#2549).
Hide the once-move-out privilege for stack fns behind '-Z once-fns'
Oops, hide 'unless once fn' error message hint behind -Z once-fns too.
rust.vim: Links previously unused rustFuncCall

This allows for highlighting of function calls
for free floating, member, and static functions.
rustpkg: Silence extra output from rustpkg tests

Closes #7250
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.
Add Float to llvm::type_to_str.
Add a depth counter to llvm::type_to_str to work around infinite llvm types.
Make default method handling not choke on self region params. Closes #7341.
Make calling methods parameterized on the trait work from default methods.

This is done by adding a new notion of "vtable_self".
We do not yet properly handle super traits.

Closes #7183.
Actually resolve trait bounds on impls. Closes #7266.
Rework vtable_res to not be flattened. It is now a list of the resolutions for each param.
Improve handling of trait bounds on a trait in default methods.

This is work on #7460.
It does not properly handle certain cross crate situations,
because we don't properly export vtable resolution information.
Drop an unused field from param_substs.