AMQP-339 Support Build with SPR 4.0.0

- Add refresh() to test GenericContexts
- Remove commons.lang NotImplementedException

Also increase timer in a test case.

JIRA: https://jira.springsource.org/browse/AMQP-339
INT-334 Doc for Spring Retry 1.0.3

JIRA: https://jira.springsource.org/browse/AMQP-334
AMQP-341: Add logic for System 'line.separator'

JIRA: https://jira.springsource.org/browse/AMQP-341
AMQP-340 Fatal on RabbitMQ Authentication Failure

Consider RabbitMQ authentication failure as FatalListenerStartupException in order to abort further connection attempts
* add `PossibleAuthenticationFailureException` to the list of exceptions being converted in `RabbitExceptionTranslator`
* add unit test for `RabbitExceptionTranslator`

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

Based on original work by Sergey Shcherbakov <sshcherbakov@gopivotal.com>

AMQP-340 Polishing

Introduce AmqpAuthenticationException wrapper to avoid getting
a listener exception when not using a listener.
AMQP-337 Emit Closed Event on All Closes

Previously the ConnectionListener.onClose() was only called
when the connection factory was destroyed, and not when a
closed connection is refreshed.

Also, the onClose() in destroy passed in the target connection
instead of the proxy (which is what is passed to onOpen().

JIRA: https://jira.springsource.org/browse/AMQP-337
AMQP-306 Dynamic Consumers

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

- Allow the concurrentConsumers to be modified on a running container
-- add or remove consumers as necessary
- Add maxConcurrentConsumers
-- New consumer started at the max rate of 1 every 10 seconds and only if another consumer processes 10 consecutive messages
-- Idle consumer stopped if 60 consecutive timeouts (default 1 second each) no more than one consumer stopped per minute

INT-306 Polishing; Namespace; Docs

- PR comments
- Add Configurable Start/Stop Algorithm Properties
- Namespace Support
- Docs

Also:

Add `receive-timeout` to namespace.

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

AMQP-306 Polishing

PR Comments
AMQP-342: Fix Listener Integration Tests

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

Previously, the `MessageListenerContainerLifecycleIntegrationTests` relied
on Consumers' logic, where they can emit messages even after stop() of container.

Since AMQP-338 fix Consumers consumers are marked to stop on container stop().
So, now non-transactional consumers work as transactional and there is no received
new messages from message broker after stop(). Prefetched messages are processed
after the stop, however.

AMQP-342: Polishing

Just only test that messages aren't received after stop()

AMQP-342 Polishing - Add Tests for Non-Tx Prefetch

Test cases did not cover prefetch without transactions.

Remove obsolete comment.

Add assertion for txSize > 0 (otherwise container never
called listener).
AMQP-344 Use Spring Stylesheet For JDK 7 Javadocs

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

- Add reference to the stylesheet to build.gradle
- Change all `<pre>` tags to `<pre class="code">`
- Fix missing links
AMQP-343: Upgrade Gradle and `testAll` task

JIRA: https://jira.springsource.org/browse/AMQP-343
AMQP-348 Support Consumer Arguments

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

RabbitMQ 3.2 introduced consumer priority...

http://www.rabbitmq.com/blog/2013/12/16/using-consumer-priorities-with-rabbitmq/

* Add consumerArguments property to SMLC
* Add priority to listener element
* Update to latest Rabbit Client - required fix to test case for PossibleAuthenticationFailureException because it now has ambiguous constructors.

AMQP-348 Polishing - PR Comments

Use "" for consumer tag to have the broker generate it.

Minor restructuring in parser.

Use the other constructor in the exception mapping test - it was
the constructor that takes String that was added in 3.2.x.
AMQP-347: SMLC: Catch ShutdownSignalException

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

* Catch `ShutdownSignalException` in the `AsyncMessageProcessingConsumer` task
* Log it under DEBUG and mark Container (aborted = true) to `stop()`
* Add test to verify `SMLC.logger` after `connectionFactory.destroy()`

AMQP-347: Polishing
AMQP-345: Allow Broker Queue Name Generation

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

* `RabbitAdmin#declareQueues`: add a check if provided queue name isn't equal to `declareOk.getQueue()`
and replace the name with generated one by Broker using `DFA`
* Add tests case
* Polishing mock tests for new state of `channel.queueDeclare`
* Gradle: remove `sourceSet` declaration as it works as is and previous state caused issue with IDE
configuration and tests classes weren't presented as classes, but just resources

AMQP-345: Polishing

* `declareQueue(Queue queue)` returns the name of the declared queue
* Add documentation
* Upgrade to Gradle 1.10
* Add `-options` to `-Xlint` Java arg to suppress bootstrap CP warning from Java 7 for Java 6 source code
* Add Gradle's `wrapper` `distributionUrl` to download `all` facet.
It allow to use Gradle source code from IDE.
Actually the IDE suggested to do that.

AMQP-345 Polishing

Doc polishing.
Add not null assertion for Queue.name (causes an NPE elsewhere otherwise).

Update version to 1.3.0.BUILD-SNAPSHOT