Fixed a deadlock condition.

Fixed a deadlock condition that can occur under some conditions in the
ShutdownAmqp() method.

If ShutdownAmqp() is called as a result of the
Connection.ConnectionShutdown() event, calling the Model.Close() method
can deadlock.  When this happens the connection and model are not
cleaned up completely and the appender will not reconnect to RabbitMQ.
This condition can be simulated by starting your app, letting it connect
to RabbitMQ, and then using the RabbitMQ Admin UI to manually close you
connection.

In addition, the deadlocked thread, prevents the application from
shutting down cleanly.

The fix is to shutdown the old connection and model asynchronously.

Also added some debug messages that get enabled when log4net internal
debugging is turned on.