UCS2

Added the UCS2 class, which implements the UCS-2 encoding/decoding scheme (i.e. UTF-16 without the surrogates, restricted to BMP).

Untested.
String from std::basic_string

Added constructors and assignment operator overloads to the String class which enable it to be constructed/assigned from a std::basic_string of any character type.