Total rewrite

New hirveserv is written to handle errors better (eg no silently killing
someone's coroutines and rendering them unable to talk) and allows for
module reloading while it is running. Be aware that it is only lightly
tested at the moment.