Use "funny" codecvt facet instead of UTF-8 to detect failures on systems that default to UTF-8. Fix generic_string bug with codecvt argument.