do not use filtered buffer list while looking for hot buffer
fixes #126
Copy sock/in_stream/out_stream before checking for null

Fixes issue #98

If the connection has been closed then these fields may be null.
optimise RelayConnection read/write

Wait indefinitely for new outgoing messages instead of waking up
4 times a second.

Avoid making multiple copies of byte arrays when reading messages.
Input may contain multiple lines (if pasted)
Remove the message_sender Runnable as it's not required
Allow nicknames to be enclosed in < and >

Fixes issue #99.

Also fixes an issue with irc_notice messages and
messages from people named "*action" were being
handled as actions in notifications.
Add TCP keepalive
Make keepalive configurable

This doesn't include realtime updates to the current connection,
although that would be possible.