Deduplicate ParseStack::ParseFile() and ParseExec()
Use std::find() in ParseStack::ParseFile()
m_remove Manually forward all REMOVE messages, turn FPART into REMOVE
m_remove Recognize /REMOVE <chan> <nick>

The old syntax is now deprecated

Fixes issue #860 reported by @Shawn-Smith
m_remove Make the protected rank configurable instead of hardcoding it to 50000

Change type of ulevel and tlevel to unsigned int
Document the config options of m_remove
Move pre-kick checks from core to cmd_kick (core_channel)
Change Channel::KickUser() to accept an iterator, add overload that accepts a User

Remove srcmemb parameter
Use the iterator version of Channel::KickUser() in a few places
cmd_kick Assign a value to the kick reason string more reasonably