* add a timeout to check for blocked server connect() call

* find bug which results in negative total library size

* lots of things still need to be documented

* desync between servers can happen if a +REGISTERED channel is created on a
  split server which contains no users on the other side of the split.
  currently the channel has to exist for the mode to be changed, so the
  +REGISTERED sent upon link will get dropped.  this is easy to fix as all
  you have to do is reset the REGISTERED bit on the server after it is
  relinked, but is there a better way to handle this case?

* block clients which are reconnecting too fast

* fix memory leak with routing-only server
