1. Extracted forward declarations to a separate header so that it can be included by other libraries (Boost.Log, for instance).
2. Added a default value for char traits template parameter.
3. Added missing headers and removed unused ones.
4. Added inline specifiers to operators.
5. Fixed operator<< behaving incorrectly when particular width is requested (std::setw, etc.).
6. Replaced all throw statements with BOOST_THROW_EXCEPTION.

svn path=/trunk/boost/utility/; revision=84511
Minor change (no need to create a sentry, it will be created by the stream methods).

svn path=/trunk/boost/utility/; revision=84513