Added an onDone handler that enables the user of the library to
respond to socket errors (such as untimely disconnects).
The connection class had an error that caused an unhandled
exception to be thrown, and potientally causing an invalid internal
state within the connection.
The library has been promoted to 'alpha' status from 'experimental'
as I've deemed that the library is, well less-rough, than before.