Implement String.capitalize/capitalize!

Much inspiration taken from downcase.

As there's upcase/! and swapcase/! still missing, I think they should probably give the mapped function "lower()/upper()" and an indexes as arguments to an internal map function to not duplicate all the efforts.
Or maybe it will be copy/paste 4 times 10 lines.