ProtocolInterface::SendEncapsulatedData() changes

- Pass command name and destination as real parameters
- Allow callers to specify the command source
- Send a SID 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