Merged mcunha's channel join/leave support. 

Merged mcunha's channel join/leave support.  I couldn't figure out how to get a proper commit message, but it does in fact contain all of your recent commits.