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.
auto merge of #6417 : pcwalton/rust/exprs-in-patterns, r=pcwalton

r? @graydon