Debuginfo revamp
Disable struct value printing in debug info tests

This is due to the way different versions of gdb print out structs: older versions have them always spread out with fields on different lines, while newer versions will compactly print them on one line. This makes it hard for the output checker to verify the expected output.
Re-enable struct value printing in debug info tests with gdb pretty printing off
More descriptive error messages for debug info tests
Remove uses of log
core: Remove logging constants
Remove the log keyword (by renaming it to __log)

We can't quite remove logging from the language, but this hides the
keyword.
regression patch libuv submodule
rustc: One Less Bad Copy
Disable debuginfo tests on mac since gdb requires root
auto merge of #5293 : brson/rust/logging, r=brson

r? @graydon

This removes `log` from the language. Because we can't quite implement it as a syntax extension (probably need globals at the least) it simply renames the keyword to `__log` and hides it behind macros.

After this the only way to log is with `debug!`, `info!`, etc. I figure that if there is demand for `log!` we can add it back later.

I am not sure that we ever agreed on this course of action, though I *think* there is consensus that `log` shouldn't be a statement.
auto merge of #5319 : brson/rust/debuginfo, r=brson

Continuing #5140 

For the sake of getting this merged I've disabled debuginfo tests on mac (where running gdb needs root). Please feel free to follow up with further improvements.
auto merge of #5337 : yichoi/rust/pull-0312, r=sanxiyn

libuv submodule regression patch for ARM android compilation
auto merge of #5339 : catamorphism/rust/less-copy, r=catamorphism
add nonempty encoding for spans

Before this change, encoding an object containing a codemap::span
using the JSON encodeng produced invalid JSON, for instance:
[{"span":,"global":false,"idents":["abc"]}]
Since the decoder for codemap::span's ignores its argument, I
conjecture that this will not damage decoding, and should improve
it for many decoders.
add assert_eq! macro

the assert_eq! macro compares its arguments and fails if they're not
equal. It's more informative than fail_unless!, because it explicitly
writes the given and expected arguments on failure.
change some uses of fail_unless to assert_eq
add utility function to parse using tts

also, updates test cases a bit.
change to parsing using tts
tidy