rm unused hash table from the runtime
auto merge of #4799 : graydon/rust/rustpkg, r=graydon

Taking over where #4610 left off. Much rebasing and tidying.
auto merge of #4973 : thestinger/rust/rt, r=brson
rm unused reserve_vec from rt (done in libcore)
vim: move keyword is gone
Add target_endian crate cfg. Closes #4367
Permit lifetimes to appear in type parameter lists and after `&`.  Lifetimes in
type parameter lists are currently ignored, but `&'a T` is equivalent to
`&a/T`.
emacs mode: Highlight 'foo as a lifetime, not a character constant.
Make 'foo use font-lock-builtin-face, like module names, and make capitalized identifiers optionally use font-lock-type-face
Parse (and discard) lifetime declarations on function types
update this test to use the new syntax entirely
syntax: Implement recursive sorting of meta items. Closes #607
Support link_args at the crate level. Closes #1301
auto merge of #4891 : nikomatsakis/rust/region-syntax, r=nikomatsakis

r? @graydon
librustc: Remove `simplify_type` and replace with `sizing_type_of`. rs=blocking-servo

`simplify_type` was bogus, as there was no way for it to handle enums
properly. It was also slow, because it created many Rust types at runtime. In
general creating Rust types during trans is a source of slowness, and I'd like
to avoid doing it as much as possible. (It is probably not possible to
eliminate it entirely, due to `subst`, but we should get rid of as much of it
as we can.) So this patch replaces `simplify_type` with `sizing_type_of`,
which creates a size-equivalent LLVM type directly without going through a
Rust type first.

Because this is causing an ICE in Servo, I'm rubber stamping it.
auto merge of #4975 : thestinger/rust/rt, r=nikomatsakis
auto merge of #4976 : thestinger/rust/vim, r=nikomatsakis
auto merge of #4980 : pcwalton/rust/sizing-type-of, r=pcwalton

...locking-servo

`simplify_type` was bogus, as there was no way for it to handle enums
properly. It was also slow, because it created many Rust types at runtime. In
general creating Rust types during trans is a source of slowness, and I'd like
to avoid doing it as much as possible. (It is probably not possible to
eliminate it entirely, due to `subst`, but we should get rid of as much of it
as we can.) So this patch replaces `simplify_type` with `sizing_type_of`,
which creates a size-equivalent LLVM type directly without going through a
Rust type first.

Because this is causing an ICE in Servo, I'm rubber stamping it.
auto merge of #4977 : z0w0/rust/endianattr, r=catamorphism

```rust
#[cfg(target_endian = "little")]
fn something() { /* .. */ }

#[cfg(target_endian = "big")]
fn something() { /* .. */ }
```
modernize std::deque

* use a proper exported data type with private fields
* implement core::container::Container
* use the current constructor convention
* use explicit self
* get rid of DVec and the mutable fields

Closes #2343