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
core: add vec::bsearch.
core: replace unicode match exprs with bsearch in const arrays, minor perf win.
xfail box and vec debug info tests
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
libcore: add an UnfoldrIterator like Haskell's `unfoldr`
iterator: add a chain adaptor
iterator: add a bit of documentation
auto merge of #5955 : thestinger/rust/iterator, r=graydon
librustc: Remove `fail_unless!`