Implement MutableSeq for String

This moves the `String` methods `push_char` and `pop_char` under a `MutableSeq<char>` implementation and renames them to `push` and `pop` respectively. This is appropriate given String's UTF-8 guarantee, and the existing parallels between String and Vec.