[bug][feature] Preserve nonbreaking spaces when preserve encoding is true. Allow encoding type to be set for  multibyte conversion when generating output.

Provide setter functions for the encodings used in mb_convert_encoding.  
Allow encoding type to be set in constructor, but rely on default values that used to be hard coded.
Move hard coded encoding values to class constants.
Prevent &nbsp; from being converted to spaces when preserve encoding is true.
Add some unit tests for these changes.