Add disconnectEvent() to Server

This patch addresses Issue #2133 and adds the disconnectEvent for the server code.  I have tested several scenarios including closing the client, closing the server, closing multiple clients and closing the server with multiple clients attached.  While working on this patch I have discovered a few other bugs with the Client and Server classes that I would like to address.  Do I need to create Issues for these bugs first (for documentation purposes) or can I just go ahead and submit another pull request once I have fixed the problems?