refactored presence to support joining multiple channels from a single socket
updated setup.py