Move socketengine stats into a new class
Change all socketengine methods to be static
Queue changes in socketengine_kqueue and submit them as we poll for new events
Call DelFd() and SetFd(-1) from SocketEngine::Close(EventHandler*)
Store the EventHandler* in the kevent/epoll_event/portev struct

This removes the need to call GetRef() for every socket in DispatchEvents()
Replace DummyExtItem with a flag in Extensible
WIP: Rewrite m_helpop to be compatible with other server implementations.

1. We now use the same numerics as the ircd-ratbox family for help
   instead of incorrectly using the numerics used by UnrealIRCd.
2. The title in the first line of the old HELPOP response has been
   moved to <helpop:title> and the help message has been moved to
   <helpop:message>.
3. <helpop key="nohelp"> has been moved to <nohelp:missingmsg>.
4. Help messages can now depend on modules being loaded. The message
   shown when a module is not loaded can be customised using
   <nohelp:modulemsg>.

TODO:

1. Make '/HELPOP INDEX' sort into columns to save space.
2. Possibl make the '/HELPOP' page customisable.
3. Rewrite helpop.conf.example and helpop-full.conf.example in
   the new format.