Call MaybeReleaseBuffers when AmqpException is thrown
Call MaybeReleaseBuffers when AmqpException is thrown

SimpleAmqpClient doesn't call MaybeReleaseBuffers when it throws
an AmqpException, which is ok if it happens infrequently as
the memory will get released the next successful API calls
MaybeReleaseBuffers.  However, in the case where the API is
continually called in a way that causes channel.close methods to be
returned (e.g., exchange gets destroyed and the client continues
to publish to the exchange that doens't exist), the memory
used by each return method frame is never released.

This fixes that.

This is a fix for Issue #28

electronifie/SimpleAmqpClient,alanxz/SimpleAmqpClient,tangkingchun/SimpleAmqpClient,alanxz/SimpleAmqpClient,NETkiddy/SimpleAmqpClient,electronifie/SimpleAmqpClient