Raised by Tommi Mäkitalo in http://nagoya.apache.org/eyebrowse/ReadMsg?listNamefirstname.lastname@example.org&msgNo=313 with follow up discussion in thread.
Boost guidelines on exceptions: http://www.boost.org/more/error_handling.html
I've reworked the exceptions so they derive from std::exception and getMessage() just repackages the value returned by std::exception::what. Added new exceptions classes that override std::exception::what() for exceptions with fixed messages. Exceptions with variable messages were either simplified to return static messages or had getMessage overriden to generate equivalent message on request. PlatformSocketException and MissingBraceException are instances of that latter. Also changed use of non-threadsafe stderror to strerror_r in SocketException.