INT-3273 Fix Tests For Spring AMQP 1.3.x

Some mocking changes are needed to support changes in Spring-AMQP.

Note: Needs Spring AMQP with the fix for AMQP-364 Applied.

JIRA: https://jira.springsource.org/browse/INT-3273
INT-3276 Use a ThreadPool For Aggregator Stress

Stress tests previously created 36,000 threads.

JIRA: https://jira.springsource.org/browse/INT-3276
INT-3276 Failing CI Tests

* Add test diagnostics
* Increase timers

JIRA: https://jira.springsource.org/browse/INT-3276
Initial MQTT commit
INTEXT-64 - Polishing

* Update dependency versions
* Add more comments/links
* Remove DocBook usage
INTEXT-89 Fix Inbound Stop When No Server

The reconnection task was not canceled in doStop().
MQTT - Use INT/SPR 4.0.0
MQTT - Update to Spring Integration 4.0.0.M1
Updated MQTTMessageConverter to use new classpath
INT-3239 MQTT Final Polishing For Master Merge

* Final Polishing to move from extensions to master
* Commit history is retained from the extensions
* Docbook Chapter

JIRA: https://jira.springsource.org/browse/INT-3239
INT-3271 Revert MessageHandlingException Ctor Use

When `MHE` was moved to spring-messaging, 2 constructors were
dropped. INT-3246 worked around it but it had undesirable
side-effects. Constructors have been added back in
spring-messaging so this commit reverts to using those
constructors.

JIRA: https://jira.springsource.org/browse/INT-3271
INT-3239 Fix JDK8 Javadoc
INT-3274: build.gradle: BUILD-SNAPSHOT condition

JIRA: https://jira.springsource.org/browse/INT-3274

* Change the `libs-snapshot` repository to `libs-milestone`
* Add condition on `project.version` to check `BUILD-SNAPSHOT` release category
and enable `libs-snapshot` repository
* Remove redundant directories from `mqtt` module
* and one more project property for Spring AMQP version

To test it om master:
1. `gradle.properties -> version=4.0.0.M3`
2. `gradlew clean test --refresh-dependencies -PspringAmqpVersion=1.2.1.RELEASE`
INT-3278 AMQP PubSub Redeclare After Conn. Loss

JIRA: https://jira.springsource.org/browse/INT-3278

A broker-named auto-delete queue is not suitable for use
with a message listener container. If the connection is lost,
the queue is deleted and the container cannot recover its
consumer.

Use an AnonymousQueue, which has the same semantics as the
current queue, but can be redeclared after a connection loss.

Register the channel as a ConnectionListener and redeclare
the queue and binding as necessary.

Note: You cannot currently unregister a listener (AMQP-367)
so if the context is destroyed, the channel will remain a
listener. However, the isRunning() flag can be used to
avoid declaring the channels when in that state.

INT-3278 Polishing

* PR Comments
* Remove the listener when the bean is destroy()ed.