Frantic: dynamic conversion of output encoding per-locale

All output to stdout must now be passed unicode strings. In literal
form, these are prefixed with u, such as u'Are a string'. A string
expression can be converted with the function unicode: e.g.,
unicode(some_ascii_str + '\r\n').  If stdout receives a non-ASCII
string, it will interpret it as unicode and print garbage.
Merge branch 'master' into savegame-util