Refactoring of TCPConnectionManager

TCPConnectionManager is a >1k LOC class, that I have problems understanding — and I wrote it. I started rebuilding its functionality in a cleaner and, easier to understand way. Changes:

* Moved TCPConnectionManager and related classes into edu.teco.dnd.network.tcp
* Allow MessageHandlers to throw Exceptions
* Use FutureNotifier for shutdown
* Use a ServerBootstrap for creating the server channels

Because most of the code only used ConnectionManager only the server startup code will have to be adjusted.

This rewrite is not yet done. Expect the history of this branch to be rewritten so do not base commits on this.