Ignore top level shell scripts
Improve debug log message format
Add channel_id field to exceptions
Add `channel_id` parameter to exceptions

Allows for more informative error messages.
Append single `Exception` object to queue instead of a tuple
Add TODO items
Fix tests to check for RabbitMQ version

Starting with RabbitMQ 3.2.0 (?), the behaviour of some methods has changed.
Add concurrencty module to help with thread safety
Check thoroughly for thread-safety, bump version number

Numerous comments and docstrings are added to clarify code.