AMQP-335: Add checkTestConfigs Gradle task

* Fix configs vulnerabilities

JIRA: https://jira.springsource.org/browse/AMQP-335
AMQP-336 Rule to Skip Long Integration Tests

Skip on normal builds; set up a nightly plan to run with all.

Reduced build time from 15 mins to 2.
AMQP-241 Add package-info Files; Use SPR css
Add TestUtils from SI
AMQP-338 Fix Listener Container Stop

Previously, when stopping the listener container, the consumer threads
kept consuming messages and were eventually killed after the `shutdownTimeout`
by forcing the channel closed.

The problem was due to the `receiveAndExecute` method always returned true while
messages exist (called within a loop from AsyncMessageProcessingConsumer.run().

https://jira.springsource.org/browse/AMQP-338

Add code to suspend the client delivery thread during shutdown to prevent delivery
of new messages, while allowing the consumer thread to drain the messages already
in the prefetch queue. When the queue is drained, the method returns false, causing
the loop to exit. Subsequently, consumer.stop() is called, which releases the
delivery thread and closes the channel.

Add a test case to reproduce the problem (more than prefetch messages delivered after
stop()) and verify it is corrected with this change.

It is important to understand that if AcknowledgeMode.NONE is employed, one message
may be lost for each consumer when the container is stopped.

AMQP-338 Polishing

Reinstate cancelled.set(true) for cases where stop() is called
after a consumer thread exception (restart or abort).
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
AMQP-350 1.3 Schema

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

Create 1.3 schema; revert 1.2 schema to v1.2.0.RELEASE.
AMQP-347: Restore Logs for Non-Normal Shutdown

Eliminate `throw e` so the container can restart if possible.
AMQP-346 Polish Docs - Message Rejection

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

Prior to RabbitMQ 2.7.0, rejected messages went to the back
of the queue; they now go to the front of the queue.

Update the reference document to reflect that.

Fix property name for `defaultRequeueRejected`.