Fixes #7377
mk: clean-llvm for cross-compile
Remove vec::{rfind, rfind_between, find_between}, replaced by slices and iterator adapators.
Remove vec::[r]position_between, replaced by slices & iterators.
Convert vec::{rposition, rposition_elem, position_elem, contains} to methods.
Convert vec::{reverse, swap} to methods.
etc: update etc/unicode.py for the changes made to std::unicode.
Convert vec::{bsearch, bsearch_elem} to methods.
Convert vec::dedup to a method.
Convert vec::{grow, grow_fn, grow_set} to methods.
Remove vec::{map, mapi, zip_map} and the methods, except for .map, since this
is very common, and the replacement (.iter().transform().collect()) is very
ugly.
global_heap: inline malloc_raw and add realloc_raw
vec: implement exchange vector reserve in Rust
global_heap: inline get_box_size and align_to
pass exchange_malloc an alignment, not a tydesc
auto merge of #7487 : huonw/rust/vec-kill, r=cmr

Continuation of #7430.

I haven't removed the `map` method, since the replacement `v.iter().transform(f).collect::<~[SomeType]>()` is a little ridiculous at the moment.
librustc: back::link::sanitize support esacpe_utf8
librustc: apply changes of char::escape_unicode
auto merge of #7492 : yichoi/rust/fix_cleanllvm, r=luqmana

fix clean-llvm in mk/clean.mk for cross-compile

after #7442 landed, below error produced while android cross-compile
```
make[1]: *** No rule to make target `clean-llvmarm-linux-androideabi', needed by `clean-llvm'.  Stop.
make[1]: Leaving directory `/home/yichoi/rust_latest/build'
make: *** [rustllvm/llvm-auto-clean-stamp] Error 2
```
auto merge of #7521 : thestinger/rust/vec, r=Aatch

continued from #7495