Merging long-standing changes from Trunk, including the slightly more sophisticated handling of the to_string conversion done in boost::diagnostic_information.

svn path=/branches/release/boost/exception/; revision=83354