Add debug info for boxes
Add debug info for vectors
Add debug info for bare_fn type
Prevent debug info generation of zero-span nodes

If a node has a (0, 0) span, it was not in the source, so debug symbols should not be generated for it.
Add debug info test for boxes
Add debug info test for vectors
add dropwhile and takewhile iterators
rustc: Fix struct returns on x86 mac for 8-byte structs

Mac appears to follow the same ABI as MSVC. This fixes one case
but leaves others broken, like windows.
rustc: One less copy
xfail box and vec debug info tests
rustc: Anti-copy police

In this case, some copies are still necessary to convert from
a mutable to an immutable @-box. It's still an improvement,
I hope.
auto merge of #5914 : catamorphism/rust/copy-cops, r=catamorphism
auto merge of #5938 : thestinger/rust/iterator, r=pcwalton
auto merge of #5943 : brson/rust/struct-return, r=graydon

Mac appears to follow the same ABI as MSVC. This fixes one case
but leaves others broken, like windows.
iterator: add skip and take
takewhile -> take_while, dropwhile -> skip_while
libcore: clarify documentation for char_at(_reverse)
auto merge of #5957 : huonw/rust/core-char-at-doc, r=thestinger

The documentation was unclear/wrong: it implies the functions operated on unicode char indices, but they actually operate on byte indices. Also, the `char_at_reverse` documentation was unclear whether it counted from the beginning or the end (causing #5956).
move iterator adaptor tests to iterator module
re-organize the iterator module a bit