Clear out the pending message list when the consumer is cancelled (Fix issue #328)

- Clear out generator messages in BlockingChannel.cancel()
- Implement Channel.close in BlockingChannel as a blocking operation and stop the generator if it's there
- Clear out the generator messages and generator in _on_close
- Remove the spurious BlockingChannel._shutdown method
Merge branch 'master' of github.com:pika/pika