Create a name -> ModeHandler* map
Add a ModeParser::FindMode() overload that takes a mode name and a mode type
Replace mode letter parameter of OnRawMode() with a ModeHandler*, remove pcnt
Assign an id to user modes, parameter chanmodes and simple chanmodes
Index Channel::modes and User::modes with the id of the mode instead of its letter
Add ModeParser::GetModes(), returns all user/chanmodes
Moving CGIIRC to a new snomask (w)
Throw an exception if ModeParser::AddMode() fails
m_svshold Hide server notices by default

Issue #742
cmd_kill Hide server notices if the source is ulined

Issue #742
cmd_kill Remove now needless check that prevented KILLing the same user twice
m_cycle Remove redundant IS_LOCAL() check
m_chanfilter Remove needless mode parameter is empty check
Simplify /SAJOIN syntax and add permission for joining other users.
Give m_connectban a configurable ban message
cmd_topic Remove redundant NULL check
Remove REG_ALL checks from User::SharesChannelWith()

These checks are never true currently and even if one or both users are unregistered proceeding is harmless
Update nick timestamps in User::ChangeNick(), pass the new TS in a parameter
m_spanningtree Remove remains of the KeepNickTS workaround
Make the maximum hostname length configurable in the config.

This also raises the maximum hostname length to 255 as defined in
RFC 1034.