Allow user control of behaviour for unmappable characters (closes #1366409).
Added a runtime parameter failOnUnmappableChar, which defaults to true, to
control the behaviour of the wrapper when it encounters a character that can't
be represented in the selected encoding. When true, keep the old behaviour of
throwing an exception. When false, replace the unmappable character with a ?
and keep going.