Cancel the consumer by invoking the channel method
Cancel the consumer by invoking the channel method

Addresses #38. Instead of directly issuing the ``Basic.Cancel``, have the channel do it so that it can coordinate the interruption of waiting for ``Basic.Deliver`` frames, making it clear there is only one place in the code that does the actual cancelling.

Added a property to make the ``consumer_tag`` value easily accessible by the channel.

gmr/rabbitpy,jonahbull/rabbitpy,gmr/rabbitpy