UTF8
Utf8
This PR renames `String.getUtf8Byte` to `String.getUTF8Byte` in order to adhere to the standard library naming convention.
String.Pos
String.Pos.Raw
This PR renames `String.Pos` to `String.Pos.Raw`. After an abbreviated deprecation cycle, we will then rename `String.ValidPos` to `String.Pos`.
This PR defines the new `String.Slice` API. Many of the core design principles of the API are taken over from Rust's [string library](https://doc.rust-lang.org/stable/std/string/struct.String.html).