Add foundation for membership ids
m_spanningtree Initialize membership ids on load
m_spanningtree Assign an id to new Memberships

Increase the next membership id of the channel when a member leaves to
ensure they will not get the same membership id if they rejoin shortly
after.
m_spanningtree Send, parse and translate IJOINs with membership ids
m_spanningtree Add CmdBuilder specialization for FJOIN
m_spanningtree Use the FJOIN builder when a channel is created
m_spanningtree Add CmdBuilder::push_raw_int()
m_spanningtree Send and parse FJOINs with membership ids
m_spanningtree Translate FJOINs with membership ids for 1202 protocol servers

Strip all membership ids from outgoing FJOINs
Send the membership id when kicking a remote user and drop KICKs with mismatching membership ids

This fixes the desync happening when a PART+JOIN crosses a KICK targetting
the same user.
m_spanningtree Translate KICKs with membership ids for 1202 protocol servers