Create a Connection instance for every established client-server connection, and handle the Version network message/
Network protocol management and implementation: Version message (encoding and decoding), Pubkey message (encoding).
Javadoc edits for the Connection interface. Also removed the throws IOException for Connection.close(), as it is never actually used.
Various logging and message reporting improvements.
Properly close the connection when a write error occurs on a channel. Various logging and message reporting improvements.
More consistent naming of text resource keys.
Removed the unneeded event listener for the Main class.