Make charCodeAt safe, add unsafe versions of charAt, charCodeAt

Another breaking change (making charCodeAt safe) so will release as v0.4.0.

Unsafe methods are intended for use in cases like string parsing/lexing where the length test has already been made.