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.
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.