Add names to worker threads
Fix unknown IRC message crashing InputThread via NPE
Add ability to send PING and receive PONG messages
Add crude solution for maintaining connection with servers that don't send pings.

Currently just send our own pings once every 20 seconds, although
something more intelligent is possible. Sending our own pings can be
used to better detect connection failure.