INT-3458: Compatibility with Spring Framework 4.1

JIRA: https://jira.spring.io/browse/INT-3458

* Change Spring AMQP to `1.3.5.RELEASE`
* `HttpRequestHandlingEndpointSupport`: remove `MappingJacksonHttpMessageConverter` registration
* `IntegrationRequestMappingHandlerMapping`: add 'fake' `name()` attribute to the inline `RequestMapping` annotation
* `StoredProcJmxManagedBeanTests`: remove `context.stop();` code, Since `MBeanExporter` deregister MBeans on `stop()` now
* `StoredProcPollingChannelAdapterParserTests`: change deprecated `ParameterizedSingleColumnRowMapper` to the `SingleColumnRowMapper`
* `Jms`: comment out the reflection code to check the value for the `recoveryInterval`, because it is removed already in favor of `backOff`
* `NotificationListeningMessageProducer`: move the start-up listener registration to the `onApplicationEvent`,
because `MBeanExporter` moved `registerBeans()` to the `start()` now.
The same `phase` might cause the issue, that MBeans aren't registered yet for `NotificationListeningMessageProducer`
* `JpaOutboundGatewayTests`: change `@TransactionConfiguration` to the `@Transactional`. Don't know why the first doesn't work now.

**Cherry-pick to 4.0.x**

INT-3458: Addressing PR comments

`NotificationListeningMessageProducer`: defer listener registration until `onApplicationEvent()`
Fix Tcp Interceptor Docs

http://stackoverflow.com/questions/24514348/tcpinboundgateway-replychannel-error-handling
INT-3426: Add `<r-h-a-c>` for all `outbound-c-a`

JIRA: https://jira.spring.io/browse/INT-3426

Provide other fixes for XSD. E.g. not all adapter have had `<poller>`
INT-3415 Add `apply-sequence` to `xpath-splitter`

JIRA: https://jira.spring.io/browse/INT-3415

* Add `XPathSplitterParserTests`

XSD Doc Polishing
INT-3404: Remove `MProducer` from `AIFileSMS`

JIRA: https://jira.spring.io/browse/INT-3404

Previously, `AbstractInboundFileSynchronizingMessageSource` implemented both `MessageProducer` and `MessageSource`.
The `MessageProducer` is really redundant and confusing.
Also, it might produce some side-effects when using JavaConfig.

Provide some other simple but important fix for all `AbstractMessageSource` implementation to invoke `super.afterPropertiesSet()`

Polishing

Add mock bean factory to failing tests.

Revert state assertions in AbstractInboundFileSynchronizingMessageSource;
the fields are state, not arguments, at the time they are being
asserted.
INT-3461: Add `rometools` Dependency for SF 4.1

JIRA: https://jira.spring.io/browse/INT-3461

To test it: `gradlew :spring-integration-http:testAll -PspringVersion=4.1.0.BUILD-SNAPSHOT`

INT-3461: Add CP condition for `rometools` into the `HttpRequestHandlingEndpointSupport`

INT-3461: Add CLASSPATH check for `RequestEntity` to determine the SF 4.1
INT-3417: Polishing Docs for `MessageHeaders`

JIRA: https://jira.spring.io/browse/INT-3417

Polishing

Add note about using the accessor.
INT-3463: Add `encode-uri` to ws:outbound-gateway

JIRA: https://jira.spring.io/browse/INT-3463
INT-3449: TCP: `read-delay` for XML Configuration

JIRA: https://jira.spring.io/browse/INT-3449

Doc Polishing
INT-3447: HTTP-inbound: `status-code-expression`

JIRA: https://jira.spring.io/browse/INT-3447

Polishing
INT-3462: Polishing (s)ftp XSD

JIRA: https://jira.spring.io/browse/INT-3462
INT-3435: Make `JmsChannelFB` more friendly

JIRA: https://jira.spring.io/browse/INT-3435
Undo "INT-3435: Make `JmsChannelFB` more friendly"

This reverts commit 04131c2d0b933c1a90b9f27285381662b1b31fc9.
INT-3435: Make `JmsChannelFB` More Friendly

JIRA: https://jira.spring.io/browse/INT-3435

INT-3435: Polishing according test failures

https://build.spring.io/browse/INT-B41-29
INT-3448: Add `@Async` test for `@Gateway`

JIRA: https://jira.spring.io/browse/INT-3448

INT-3448: Addressing PR comments

Late Resolution of @Publisher.defaultChannel

Early resolution of the publisher default channel caused
`@ Configuration` factory beans to be instantiated before
Spring Integration bean post processors had been registered.

Use the channel name instead of channel reference and resolve
it when processing the first publish.

Merge branch 'INT-3448' of https://github.com/garyrussell/spring-integration into INT-3448

Conflicts:
	spring-integration-core/src/test/java/org/springframework/integration/configuration/EnableIntegrationTests.java

INT-3448: Polishing
INT-3434: AMQP Don't Declare Queue if Supplied

JIRA: https://jira.spring.io/browse/INT-3434

Previously `PointToPointSubscribableAmqpChannel` declared Queue always.
Change the logic to use `admin.declareQueue` only if `queueName` isn't specified.
In addition it is redundant to get deal with entire `Queue` object - just use the `queueName` for the `SimpleMessageListenerContainer`

Polishing

Declare queue the old way if not already present in broker,
even if the name is supplied.
INT-3469 MQTT - Set Callback Before Subscribing

JIRA: https://jira.spring.io/browse/INT-3469

Previously, the callback was set immediately after
subscribing which caused a small possibility of
message loss.

Set the callback before subscribing.
INT-3437 MQTT - Support Cluster Connection

JIRA: https://jira.spring.io/browse/INT-3437

Note: Tests are still ignored due to hung connection
on close problem.

INT-3437 Polishing - PR Comments
Enable RabbitMQ MQTT Plugin on Travis
INT-3468 MQTT Async Client

JIRA: https://jira.spring.io/browse/INT-3468

Provide an option to not block when sending and emit
events for sends and delivery confirmations.

Also use the async client for the inbound adapter; while
it doesn't make any performance difference, it does
allow us to timeout the disconnect, which we have seen
to cause hangs on the CI servers.

INT-3468 Polishing - Use Events; Add Docs

INT-3468 Doc Polishing

INT-3468 More Polishing - PR Comments

- Only emit delivered event if async
- Add clientId and a new instance counter to events

INT-3468 Polishing

- Pull client instance up to the abstract class and remove references to the Paho implementation from the events
- Improve tests to include a second client

INT-3468 Fix Test Case

Incorrect classname meant the default location for the application
context config was not found on case-sensitive file systems.

Also, don't auto-start the adapters in the context, in case
the broker is not running.

INT-3468: Polishing

INT-3468 Fix Package Tangle; Add 'async-events'

Add an option (default false) to emit events when async is true.