Added support for ping timeouts.

In order to send PINGs, as far as I can tell, we must know the name of our host,
so I've also added a mechanism for accepting the "yourhost" event and storing
the name received, then using that for the pings.

Of course, we might get a timeout after connection and waiting for the "yourhost"
event, so there's a timer there as well.