Don't use the same callback for proper channel closure and exception-triggered one
Don't use the same callback for proper channel closure and exception-triggered one

 * Otherwise callbacks defined to handle errors will be run when channel.close-ok
   arrives. This definitely shouldn't happen.

 * A related improvement: error callbacks should not be cleared when they are
   run. The reason to this is that it is not what you expect (unlike some other cases),
   even though closed channel is in limbo and is of no use anyway.

ruby-amqp/amq-client,travis-repos/amq-client,ruby-amqp/amq-client,travis-repos/amq-client