Status of C++11 char16_t/char32_t support

The support of C++11 `char16_t` and `char32_t` is experimental, mostly does not work and not intended to be used in production with current latest compilers: GCC-4.5, MSVC10 till major compiler's flaws would be fixed.

# GNU GCC 4.5/C++11 Status

GNU C++ compiler provides decent support of C++11 characters however:

1. Standard library does not install any std::locale::facets for this support so any attempt to format numbers using `char16_t` or `char32_t` streams would just fail.
2. Standard library misses specialization for required `char16_t/char32_t` locale facets, so "std" backends is not build-able as essential symbols missing, also `codecvt` facet can't be created as well.

# Visual Studio 2010 (MSVC10)/C++11 Status

MSVC provides all required facets however:

1. Standard library does not provide installations of std::locale::id for these facets in DLL so it is not usable with `/MD`, `/MDd` compiler flags and requires static link of the runtime library.
2. `char16_t` and `char32_t` are not distinct types but rather aliases of unsigned short and unsigned types which contradicts to C++11 requirements making it impossible to write `char16_t/char32_t` to stream and causing multiple faults.

If you want to build or test Boost.Locale with C++11 char16_t and char32_t support you should pass `cxxflags="-DBOOST_LOCALE_ENABLE_CHAR32_T -DBOOST_LOCALE_ENABLE_CHAR16_T"` to `b2` during build and define `BOOST_LOCALE_ENABLE_CHAR32_T` and `BOOST_LOCALE_ENABLE_CHAR32_T` when using Boost.Locale

- © Copyright 2009-2012 Artyom Beilis, Distributed under the Boost Software License, Version 1.0.