Update preserve encoding to not strip out non breaking spaces (&nbsp;) which
are commonly used as a workaround for email clients that strip out or rewrite
various CSS and HTML.
Added methods to override default source/result encoding and unit tests to verify expected
behaviour with various chars.

use the constant