Convert InviteBase::invites to an intrusively linked list
Destroy Memberships of a quitting user in QuitUser() instead of in cull()
Convert InspIRCd::PassCompare to return bool instead of int.

The insane behaviour of this method was due to an implementation
detail which has since become irrelevent.
Omit the server name internally when building a /STATS reply and prepend it later
Add Channel* parameter to OnSendWhoLine
ProtocolInterface::SendEncapsulatedData() changes

- Pass command name and destination as real parameters
- Allow callers to specify the command source
- Send a SID instead of a server name if the target is a single server
Add ProtocolInterface::BroadcastEncap() and infrastructure for manually forwarding ENCAPs
Add m_clearchan which removes users from a channel without sending n*(n+1)/2 QUIT messages
m_alias Use equal_range() when searching for aliases
m_alias Remove duplicate checks
m_tline Minor improvements

- Replace floats with integers
- Use size() instead of counting elements
- Use WriteNotice()
m_spanningtree Rewrite /map
Allow Timers to delete themselves in Tick()
m_conn_join: Fixed indentation
m_conn_join: Allow time-delayed joins
m_conn_join Read default settings in ReadConfig()
Document new delayed join feature of m_conn_join
Remove some dead code
Remove a few unnecessary .c_str() calls
Fix ping timeout message seconds vs second