libsyntax: Remove `extern mod foo { ... }` from the language.
librustc: Make `self` and `static` into keywords
libsyntax: Tighten up expressions in patterns to only allow identifiers or literals (possibly with a minus).

This had very minimal fallout.
libstd: Fix merge fallout.
Add vec.rs each2_mut function
Add vec.rs each2_mut testsuite
Add inverse hyperbolic functions
librustdoc: Remove old-style extern mods from rustdoc tests.
test: Fix broken benchmark test
core: Move unstable to unstable/mod.rs
core: Move locks, atomic rc to unstable::sync
core: Rename SharedMutableState to UnsafeAtomicRcBox
auto merge of #6417 : pcwalton/rust/exprs-in-patterns, r=pcwalton

r? @graydon
auto merge of #6387 : brson/rust/unstable, r=brson

r? @pcwalton

* Move `SharedMutableState`, `LittleLock`, and `Exclusive` from `core::unstable` to `core::unstable::sync`
* Modernize the `SharedMutableState` interface with methods
* Rename `SharedMutableState` to `UnsafeAtomicRcBox` to match `RcBox`.
Remove re-exports from libcore/core.rc

Also fix up all the fallout elsewhere throughout core. It's really nice being
able to have the prelude.
revert PriorityQueue to using init()

uninit() would result in potentially running a destructor on arbitrary
memory if the Ord implementation throws
auto merge of #6388 : recrack/rust/each2_mut, r=pcwalton

- vec.rs :add 'each2_mut function'
- testsuit : run-pass/vec-each2_mut.rs
Add ldexp and frexp functions
Remove unnecessary infinity check
Upgrade libuv