iterator: Add `IteratorUtil::max_by/min_by` method
Update version number to 0.7-pre.

There's a reason we didn't update this after 0.6 but I don't know
what it is. Let's see what breaks.
Convert vec::[mut_]slice to methods, remove vec::const_slice.
Convert vec::{head, tail, init, last} (and similar fns) to methods.
Remove many shared pointers

Mostly just low-haning fruit, i.e. function arguments that were @ even
though & would work just as well.

Reduces librustc.so size by 200k when compiling without -O, by 100k when
compiling with -O.
Convert vec::{pop, shift, unshift, insert, remove, swap_remove} to methods.
Convert vec::{push, push_all, push_all_move} to methods.
Convert vec::truncate to a method.
Convert vec::retain to a method.
Convert vec::{partition, partitioned} to methods.
Convert vec::{reserve, reserve_at_least, capacity} to methods.
extra: silence some test warnings.
auto merge of #7429 : Blei/rust/delete-shared, r=huonw

Mostly just low-haning fruit, i.e. function arguments that were @ even
though & would work just as well.

Reduces librustc.so size by 200k when compiling without -O, by 100k when
compiling with -O.
std: silence some test warnings.
Extended test cases for struct debug information.
Added test cases for different kinds of padding (simple-struct.rs)
Added test cases for nested structs (struct-in-struct.rs)
Fixed debug information bug regarding struct padding.
debuginfo: Added test cases for tuples.
debuginfo: Added test cases for tuples contained in structs.
debuginfo: Many little formatting improvements.
debuginfo: Made test cases use correct naming convention for variables.