Android: Change directory before running tests
Android: Run benchmarks and copy metrics
Add assert_once_ever macro. Close #7748. (fixme cf #8472)
small cleanups in task/spawn.rs
Fix crash(!) by using the *Rust fn type* not the extern fn type

cc #3678
Change type of extern fns from `*u8` to `extern "ABI" fn`

cc #3678
Adjust callbacks in the libraries for the new type of extern fns

cc #3678
Refactor type combining to use default methods.  Woohoo!

This commit removes the "super_*" functions from
typeck::infer::combine, and adds them as default methods on the
Combine trait instead, making it possible to remove a lot of
boilerplate from the various impls of Combine.

I've been wanting to do this for over a year.  In fact, it was my
original motivation for default methods!

It might be possible to tighten things up even more, but this is the
bulk of it.
Don't fail in port.try_recv() the second time. Close #7800.
Only bug on self-not-mapped-to-def if no previous errors were present. Close #6642.
On Windows, use g++ for linking, instead of gcc.
This is required in order to produce linked modules that perform correct registration of unwind tables.
Un-disable stack unwinding on Windows.
Emit unwind info in rustrt assembly files on Windows.
Compile via external assembler on Windows.
Enabled tests.
Cleanup assembly source.
auto merge of #8666 : nikomatsakis/rust/issue-3678-extern-fn-types, r=pcwalton

Change the type of crust fns like this one:

    extern fn foo() { ... }

from `*u8` to `extern "C" fn()`.

r? @pcwalton (or whomever)
auto merge of #8642 : sanxiyn/rust/arm-test, r=catamorphism

`stdtest` and `extratest` expects to be able to write to `tmp` directory under the current working directory, so the first commit creates `tmp` directory and changes the directory before running tests.

The second commit adds `--bench` argument to test runs and copies metrics from the remote device.
Don't ICE if an argument in a default method doesn't have a name. Closes #8417.
Add `self` to the ast_map for provided methods. Closes #8010.