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

r? @graydon
core::rt: Remove Close trait

We will just use RAII for now.
core::rt: Fix a warning about unnecessary mutable variable
core::rt: Begin implementing TcpStream

This ended up touching a lot of code related to error handling.
core::rt: Clean up the interface to rtio

Make names that better match rt::io. Return error types.
core::rt: Improve docs
core::rt Restructure some modules

Put all uv code under rt::uv, as if it were in its own crate.
Pull local_sched out of rt::sched.
core::rt: Use unsafe pointers instead of transmuted regions
core::rt: Fix the finalizer on UvTcpStream and UvTcpListener

Eliminates a lot of calls to `close`
core::rt: Fix some copies in uv
core::rt: Convert some uv functions to extension methods
core::rt: Reording code
core::rt: Only use one mechanism for attaching custom data to uv handles
core::rt: Move the implementation of IdleWatcher to its own file