num: Slightly optimize bigint
num: Migrate `~[T]` to `std::vec_ng::Vec`
mk: Clean libbacktrace w/ gusto

After `make clean' I'm seeing the build break with

```
cp: cannot stat ‘x86_64-unknown-linux-gnu/rt/libbacktrace/.libs/libbacktrace.a’: No such file or directory
```

Deleteing the libbacktrace dir entirely on clean fixes.
Squash test ~[] warning

The use of `std::os::args` creates a deprecated_owned_vector warning
with a bogus span.
Remove std::cmp::cmp2.

It isn't used anywhere and `cmp2(a, b, c, d)` is identical to
`(a, b).cmp(&(c, d))`.
auto merge of #12927 : sfackler/rust/test-warn, r=huonw

The use of `std::os::args` creates a deprecated_owned_vector warning
with a bogus span.
Tag derived impls with #[automatically_derived]

This will enable rustdoc to treat them specially.
auto merge of #12791 : alexcrichton/rust/liblog, r=brson

The rationale and modifications can be found in the first commit message.

This does make logging a bit more painful to use initially because it involves a feature gate and some `phase` attributes, but I think it may be reasonable to not require the `phase` attribute for loading `macro_rules!` macros because defining them will still be gated.
auto merge of #12899 : brson/rust/cleanbacktrace, r=alexcrichton

After `make clean` I'm seeing the build break with

```
cp: cannot stat ‘x86_64-unknown-linux-gnu/rt/libbacktrace/.libs/libbacktrace.a’: No such file or directory
```

Deleteing the libbacktrace dir entirely on clean fixes.
auto merge of #12929 : sfackler/rust/automatically-derived, r=cmr

This will enable rustdoc to treat them specially.

I also got rid of `std::cmp::cmp2`, which is isomorphic to the `TotalOrd` impl for 2-tuples and never used.
auto merge of #12924 : Florob/rust/bigint, r=alexcrichton

This is a minor optimization of the bignum module. The improvements mostly come from avoiding allocations and boundary checks. This also switches all of libnum to vec_ng::Vec.
Fix a test that was missed in the liblog PR
auto merge of #12933 : edwardw/rust/fallout, r=huonw

The same test was missed in chan/port renaming PR #12815 and was fixed in #12880:

> This was missed because it is skipped on linux and windows, and the mac bots were moving at the time the PR landed.

It seems the same happened to the liblog PR.
rustc: Switch defaults from libgreen to libnative

The compiler will no longer inject libgreen as the default runtime for rust
programs, this commit switches it over to libnative by default. Now that
libnative has baked for some time, it is ready enough to start getting more
serious usage as the default runtime for rustc generated binaries.

We've found that there isn't really a correct decision in choosing a 1:1 or M:N
runtime as a default for all applications, but it seems that a larger number of
programs today would work more reasonable with a native default rather than a
green default.

With this commit come a number of bugfixes:

* The main native task is now named "<main>"
* The main native task has the stack bounds set up properly
* #[no_uv] was renamed to #[no_start]
* The core-run-destroy test was rewritten for both libnative and libgreen and
  one of the tests was modified to be more robust.
* The process-detach test was locked to libgreen because it uses signal handling