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
mk: Make windows installer work with -pre versions
mk: Include all bins in the windows install
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.
auto merge of #7437 : brson/rust/winver, r=brson

r? @graydon (or anybody)
copy the optimization passes from clang
auto merge of #7466 : thestinger/rust/passes, r=cmr
Optimize str::each_split_within when it is called with large limits
auto merge of #7471 : msullivan/rust/default-methods, r=graydon

This fixes a bunch of default method bugs and restructures how vtable resolutions are represented.

(It also adds a depth counter to llvm::type_to_str as a hacky work around for our circular llvm types. This is related in the sense that I needed to do it to make debug tracing not cause rustc to crash after running out of stack space.)
Rename #[non_sendable] to #[no_send]