Allow manual implementations of built-in traits

[RFC #3]

cc #13231
Add more comprehensive unit tests for SIMD binops
Allow built-in traits to be derived

[RFC #3]

cc #13231
Implement ToJson for Vec<T>

Now that ~[T] is obsolete, we need to allow to_json() to work for
vectors.
Implement comparison operators for int and uint SIMD vectors
rustc: Use the "real" realpath function

The logic of the custom realpath function in metadata::loader was incorrect, but
the logic in util::fs was correct.

Closes #13890
Provide a note if method lookup fails and there are static definitions with the same name.
rustc: Crawl static initializers for reachability

This ensures that private functions exported through static initializers will
actually end up being public in the object file (so other objects can continue
to reference the function).

Closes #13620
librustc: Implement the `Box<T>` type syntax. RFC #14. Issue #13885.
emacs: Add 'box' to keywords
Replace most ~exprs with 'box'. #11779
auto merge of #13891 : hjr3/rust/serialize-vec, r=pcwalton

Now that ~[T] is obsolete, we need to allow to_json() to work for
vectors.
auto merge of #13899 : bjz/rust/simd, r=pcwalton

cc. @pcwalton
auto merge of #13903 : alexcrichton/rust/issue-13890, r=thestinger

The logic of the custom realpath function in metadata::loader was incorrect, but
the logic in util::fs was correct.

Closes #13890
auto merge of #13868 : FlaPer87/rust/opt-in-phase1, r=alexcrichton

This is a first patch towards an opt-in built-in trait world. This patch removes the restriction on built-in traits and allows such traits to be derived.

[RFC#3]

cc #13231

@nikomatsakis r?
auto merge of #13904 : pcwalton/rust/box, r=alexcrichton

r? @alexcrichton

RFC#14 

Issue #13885.
auto merge of #13773 : brson/rust/boxxy, r=alexcrichton

`box` is the way you allocate in future-rust.
auto merge of #13685 : Ryman/rust/issue7575, r=alexcrichton

Closes #7575.

I don't think the change from a contains lookup to an iteration of the HashSet in the resolver should be much of a burden as the set of methods with the same name should be relatively small.
auto merge of #13906 : alexcrichton/rust/issue-13620, r=luqmana

This ensures that private functions exported through static initializers will
actually end up being public in the object file (so other objects can continue
to reference the function).

Closes #13620
Use CreateProcessW instead of CreateProcessA

Changed libnative to use CreateProcessW instead of CreateProcessA.  In
addition, the lpEnvironment parameter now uses Unicode.