Merge pull request #7 from flagbug/master

Dispose shouldn't throw after a call to Disconnect
Updated version to publish new drop
Remove the event subscription from all the sockets,
so disposing them doesn't cause a collection modified exception while multiple sockets are still connected.