add deriving_eq for tokens
auto merge of #5273 : jbclements/rust/a040b8005f37b94f3394cc3c6ab7058717830661, r=brson

Replace the custom eq with #[deriving_eq].
libcore: Remove `extern mod { ... }` from libcore. rs=deexterning
libstd: Remove `extern mod { ... }` from libstd. rs=deexterning
librustc: Remove "extern mod { ... }" from librustc, librustdoc, and tests. rs=deexterning
libsyntax: Stop parsing structural record types
librustc: Remove structural record types from the compiler
libsyntax: Remove struct literal expressions from the compiler
librustc: Remove record patterns from the compiler
librustc: Convert all uses of `assert` over to `fail_unless!`
librustc: Stop parsing `assert`.
test: Fix tests.
librustc: Add #[link_args] to metadata