Make debug!, etc. macros not require a format string

The one thing `log` can still do is polymorphically log anything,
but debug!, etc. require a format string. With this patch
you can equivalently write `debug!(foo)` or `debug!("%?", foo)`
auto merge of #5281 : ILyoan/rust/master, r=brson

This fixes a problem on compiling test suits for android target.
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
auto merge of #5260 : pcwalton/rust/assert, r=pcwalton

r? @brson
core: Remove uses of DVec in io/repr
std: Remove uses of DVec
rustc: Remove uses of DVec
syntax: Remove uses of DVec
test: Removing dvec uses
core: Remove the dvec module