Break out const_addr_of.
Implement most of adjustment handling for consts.

Changes the ad-hoc closure adjustment into using adjustment info instead
of being separately driven from types, and likewise for autoderef.

Also takes care of autoref (the cases we should be seeing in consts,
at least, since we can't be doing method calls which would need the
ref-to-vec mode), which didn't quite work right previously.

However, "dereference" of a newtype isn't handled yet....
Let const_deref "dereference" newtypes.
Make a const translation test match TESTNAME=const
Don't print addr_of(addr_of(e)) as `&&e`, which means something else.
Add some tests for const auto-deref.

const-autoderef.rs is based on an example from jdm in IRC (but the
quadruple-pointer part is entirely my fault).
Don't copy const data to do an autoderef+autoref.
Const dereference works now, so allow it.
add a TotalOrd impl for the unit type
treemap: make set_advance public
treemap: indentation fixes
treemap: inline the TreeSet wrappers
treemap: add more tests for set difference
Add deriving_eq to Cell.
auto merge of #5318 : jdm/rust/deriving_cell, r=pcwalton

r? @pcwalton
core: Add vec::raw::mut_buf_as_slice
auto merge of #5305 : brson/rust/mut_buf_as_slice, r=brson

r?

Like `buf_as_slice` but for mutable pointers and slices.
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