AMQP-205 Retry Interceptor Builder API

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

Add builder API for stateless and stateful listener container
retry interceptors.

Add `RepublishMessageRecoverer`.

Docs and tests

AMQP-205 Polishing; PR Comments

AMQP-205 Final polishing

* Add `RepublishMessageRecoverer#setErrorRoutingKeyPrefix`
* Fix `RepublishMessageRecovererTest#shouldPublishToProvidedExchange`
* Fix `AbstractMessageListenerContainer` JavaDocs warning
* Fix a couple of typos
* Polish `RetryInterceptorBuilder` JavaDocs
* Add `private` constructors for `RetryInterceptorBuilder`s
AMQP-360 Update Versions; Align with SI/SF 4

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

Note: The changes to the RabbitBrokerAdmin test rules are simply
to make them work with junit 4.11 - these tests (controlled by
a System property) currently do no run and will be addressed by
a separate JIRA.

RabbitBrokerAdmin is not part of the main Spring-AMQP runtime.
AMQP-381 Add Retry to RabbitTemplate

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

Add support to configure a retry template on the
`RabbitTemplate`.

AMQP-381: Polishing `RabbitTemplate` warnings
AMQP-382 Update Rabbit Client to 3.2.4

JIRA: https://jira.springsource.org/browse/AMQP-382
[artifactory-release] Release version 1.3.0.RC1
[artifactory-release] Next development version
AMQP-383 Fix Auto-Delete Queue Redeclaration

JIRA: https://jira.spring.io/browse/AMQP-383

When an auto-delete queue is removed by the broker, its
bindings are removed too. If the binding is the last one
for an auto-delete exchange, the exchange is deleted too.
If that exchange is bound to another exchange, its binding
is removed, etc, etc.

AMQP-373 only redeclares the queue and any upstream infrastructure
was not redeclared.

Added an integration test with an auto-delete exchange and queue.

Now, during container start, if an auto-delete queue is detected to
be missing, the entire `RabbitAdmin.initialize()` is invoked to
redeclare all context elements.
AMQP-383 Polishing - Conditional Declaration

JIRA: https://jira.spring.io/browse/AMQP-383

The previous solution did not work for conditional declaration
queues because the internal `RabbitAdmin` was not in the list
of admins that should declare the element.

Add a setter for the `RabbitAdmin` and provide an attribute
in the namespace.

Add a test case for conditional declaration.

Add documentation, what's new.
Upgrade Jackson 2 to 2.3.2 version
AMQP-384 Fix Test

JIRA: https://jira.spring.io/browse/AMQP-384

* `TestUtils.getPropertyValue()` (with type) NPE if the
    field is null
* When iterating over consumers to answer the consumeOk
    ignore consumers that don't have a channel yet
Fix Test Timing Problem
AMQP-385 ErrorHandler and AmqpRejectAndDontRequeue

JIRA: https://jira.spring.io/browse/AMQP-385

Previously, if an ErrorHandler threw an AmqpRejectAndDontRequeueException,
the message was properly rejected but it caused the consumer to be aborted.

This caused problems when listening on auto-delete queues that are not
auto-declared by a RabbitAdmin.

Treat these exceptions as non-fatal for the consumer.
Add Bamboo Build Status to README