UTF-8 Overlong

The UTF-8 encoder now properly reports an error upon encountering an overlong sequence, unless strict errors are ignored.
Add EncodingErrorAction for Endianness Errors to Encoding

Added an EncodingErrorAction member -- Endianness -- to be used to report problems with endianness.
EncodingAction const Correctness

Updated member functions of EncodingAction to be const correct.
EncodingAction Overhaul

Overhauled EncodingAction.  It is no longer copy or move assignable, and accordingly it no longer needs detailed constructors.  The action it represents can now be manipulated through methods.

This prevents consumers of Encoding from overwriting EncodingAction members thereof with EncodingActions that have the wrong EncodingErrorType set, while still allowing them the flexibility to modify how the Encoding handlings various errors.
Decoder Error Handling

Implemented error handling within the Encoding::Decode method.