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.
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
copy the optimization passes from clang
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.
auto merge of #7466 : thestinger/rust/passes, r=cmr
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.
Drop the impl_id field from fn_ctxt.