UTF16 Fix

The UTF-16 encoder/decoder was erroneously determining that it could represent lead/trail surrogates.
Code Unit Signedness Tests

Added unit tests to verify that code units for encoders are unsigned.
ASCII BOM Test

Added a test to ensure that enabling the OutputBOM setting on an ASCII encoder/decoder has no effect on the output (as the ASCII BOM is empty).
Latin-1

Added an encoder/decoder which will attempt on a best effort basis to transform Latin-1 to Unicode and vice versa.
Endianness Errors During Decoding Irrecoverable

Tweaked the Encoding error handling code so that EncodingErrorType::Endianness errors are irrecoverable when decoding.