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.
auto merge of #7032 : huonw/rust/each-fn-kill, r=thestinger

Continuation of #7015, and #6995.

Rewrites the character-based `each_split` functions in `str` to use an iterator, removes a few redundant methods, and replaces all uses of `len`, `is_empty` and `slice` functions with the methods (and deletes the the functions).

(Unscientific benchmarks suggest that the external `split_iter` is approximately 10% faster than the internal one. I'm not quite sure why this would be true.)

(@thestinger is probably interested in this.)