AMQP-363: Fix `ignoresThrowable` for AmqpAppender

JIRA: https://jira.springsource.org/browse/AMQP-363

Previously the `AmqpAppender` didn't check `layout.ignoresThrowable`
and added `ThrowableInformation` to the end of log message.

* Add check `layout.ignoresThrowable()` and now it allow to use custom `Layout`, e.g. JSON or XML
* Add test for `org.apache.log4j.xml.XMLLayout`

Polishing: stop container after test.
AMQP-365 Fix Test Race Condition; Polish Shutdown

JIRA: https://jira.springsource.org/browse/AMQP-365

See the JIRA issue for a description of the race condition.

Also, these tests destroy the connection factory while the
container is still running (it is stopped in the After method
which is after the factory was destroyed).

This identified a further problem with container shutdown in
that the concwsumertainer never receives a cancel() and hence the
container thinks a force close is needed.

* Fix the race condition as described in the JIRA
* Count down the `activeObjectCounter` when a shutdown signal is received
* More polish on the shutdown logging; don't log a stack trace (even under DEBUG) for
    a "normal" close - extract the common logic to `RabbitUtils`

AMQP-365 Polishing

Test failed because logger.debug is now different - this caused
a container to loop and create a huge log file.