A bunch more cleanup

The only output change: by using StringDecoder(Encoding.UTF_8) we get some fixes in the documentation of generated libraries.

Some UTF chars were being interpreted as ASCII. That's fixed now.
Purely cosmetic, but the generated members docs are now better.