Add String.upcase/upcase!

Basic implementation, sadly with some copy/paste - working on a refactoring right now, but would prefer that in another PR as it likely to start discussions.