std: change ptr::array_each* to use for-protocol
std: rename str::as_bytes_with_null_consume to to_bytes_with_null

We tend to use the `to_` preposition when copying or consuming a
structure, and `as_` when getting a reference.
std: change str::not_utf8 to take a &str and a position

This eliminates a malloc when we get a malformed string.
std: str::from_byte should use str::raw::from_byte
std: add test for str::from_char
std: replace raw str functions with ones that return slices