Update reference from rabbitpy.queue -> rabbitmq.amqp_queue
Include the class setting the state in the debug log
Multiple fixes for Channel0

- Python3 queue instead of Queue
- Uses rabbitpy.events
- Don't close if already closing or closed
- Cleanly exit once Connection.Close frame is sent
- Add maximum_channels property
- Clean up connection flow
- Refactor most methods in one way or another
Rename SOCKET_CONNECTED to SOCKET_OPENED
Fix urlparse name collision with method
Rework to use events object flow
Multiple fixes & changes for Connection

- Move to using rabbitpy.events
- Cleanly handle exceptions in the context manager, shutting down the channel0 and IO threads
- Use the CONNECTION_BLOCKED event instead of a local attribute
- Cleanly shutdown
- Update how Channel0 and IO are created
IO shouldn't watch Channel0, let Connection do so.