Way better support for non-blocking sockets.
Significant enhancement of the exception class

It bears now a string representation of the actual error (errno) and
uses stringstreams internally. As a consequence, newline in the error
messages had to be removed.
Some more essential improvements for exceptions.

The dgram_client_socket now also allows to read (recv) from unconnected
sockets which is technically possible, although often not sensible.