Permit casting region pointers to unsafe ones.
Inline constants across crates.
Allow casting integers to unsafe pointers in constant expressions.
auto merge of #5227 : jdm/rust/newconst, r=pcwalton

All comments from previous pull requests addressed.
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