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.
auto merge of #7414 : gifnksm/rust/max_by, r=catamorphism

`max_by` method returns the element that gives the maximum value from the specfied function.
`max_by`/`min_by` are convenient when you want to get the value which has greatest/smallest scores.

Inspired by [ruby's Enumerable module](http://ruby-doc.org/core-2.0/Enumerable.html).
auto merge of #7418 : brson/rust/0.7-pre, r=cmr

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.
auto merge of #7430 : huonw/rust/vec-kill, r=thestinger
auto merge of #7432 : michaelwoerister/rust/WP3, r=jdm
librustc: Always pass self ByRef.
Add test for #5321.