Fixing server initiated connection / channel close handling.

Previous code wouldn't work if the server initiated the close. Test with RabbitMQ management and try to do a force close. This will allow a consumer to recover and reconnect.
I have made the change in the code. If you can merge this in it fixes issue #209. Thanks