Implement flood control.

This adds two new fields to the InstanceConfig type:

 - _floodDelay :: Int, the maximum number of seconds to wait between
   contiguous messages.
 - _lastMessageTime :: UTCTime, the time of the last sent message.

_floodDelay defaults to 1, and _lastMessageTime some unspecified past time.

If two messages are sent such that now < _lastMessageTime + _floodDelay, the
thread sleeps until the minimum allowable time. _lastMessageTime is updated in
all cases immediately before sending the message.