STATIC_PAGE_SHIFT for cross-compiling jemalloc

Sets `STATIC_PAGE_SHIFT` for cross-compiling jemalloc to 12. A
shift of 12 represents a page size of 4k for practically all
platforms.
Pass the correct build flags to jemalloc

Apparently the standard --build and --host flags don't actually
_do_ anything. This re-uses the libuv flags, since they are the
same for getting jemalloc to cross-compile
auto merge of #7041 : Aatch/rust/incoming, r=brson

So this gets jemalloc cross-compiling, on linux at least. Hopefully this gets us one step closer to a green incoming again.
std: replace str::each_split* with an iterator
std: replace str::all/any fns and methods with iterators
std: remove str::{len, slice, is_empty} in favour of methods.
std: fix compile & test
std: convert each_split_str to an iterator
std: convert character-based str::find_* to methods. Add .slice_{to,from} methods.
std: replace str::{any,all}_between with the iterator equivalent.
std: replace str::find_str* with a method
std: remove str::contains in favour of the method
std: convert str::reserve* to methods, and methodise str::push_*.
std: convert str::trim* to methods.
std: convert str::char_at* to methods.
std: fix tests
clean-up unused import warnings
std: remove str::{connect,concat}*.
std: basic documentation for the new str methods
std: remove str::to_chars