Use wide_to_utf8 and utf8_to_wide instead of wide_to_narrow and narrow_to_wide at almost all places. Only exceptions: test functions for narrow conversion, and chat, which is done in a separate commit.
Split unit tests into separate files under src/unittest/ Give better unittest diagnostics Clean up some code