Definitively settle on utf8 for the internal encoding

Following the discussion in #55, here is a major review of the entire C++ codebase to use utf8 as the internal encoding everywhere.

Basically, after replacing `nchar` by `char` and `MOZART_STR(x)` by `x`, there are mostly only whitespace changes (because lines became shorter, so lines that were spread over multiple lines could be brought back in one piece).

A few places are simplified dramatically, most notably in boostenv, as I expected.

You may notice that I have added several comments stating "TODO Unicode on Windows" here and there. This does not mean that the changes brought by this pull request broke Unicode on Windows. It's just that this review made me realize all the places where Unicode support was fundamentally broken on Windows. I will file another issue for this.

Fun fact: if you look at the global stats: the codebase is "only" 6 lines shorter than before. But you will notice that unit tests have grown, while the core codebase has shrunk.