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
m_spanningtree Allow callers of InsertCurrentChannelTS() to customize positions
Add channel TS to server-to-server INVITE to detect and drop unauthorized invites

The syntax of the server-to-server INVITE command changes from
:<source> INVITE <target> <channel> [<expire>]
to
:<source> INVITE <target> <channel> <chants> [<expire>]
Return the newly created Membership object from Channel::ForceJoin()