INT-2918: Add Redis Outbound Command Gateway

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

INT-2918: Improvement according PR comments

INT-2918: Polishing according PR comments

Minor Doc Polishing

INT-2918: Change `notNull` message

Polishing
INT-3345 Update Spring-AMQP to 1.3.1.RELEASE

JIRA: https://jira.spring.io/browse/INT-3345
INT-2918: Fix 'Redis available' for `ROGTests`
INT-3327: Add `IntegrationConverter` Annotation

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

INT-3327: Addressing PR comments

Polishing
[artifactory-release] Release version 4.0.0.M4
[artifactory-release] Next development version
Add travis.yml
Rename travis.yml -> .travis.yml
Prevent Travis from Emitting ANSI CTRL Chars
Update JavaMail dependencies

This commit updates the JavaMail dependency to use the new coordinates,
although the version that's being used remains unchanged. This brings
the dependency into line with other javax dependencies. It also paves
the way for moving to 1.5 at some point in the future as 1.5 no longer
publishes the javax.mail:mail artifact
INT-3350: Register IntRMHM, if Servlet is Present

https://jira.spring.io/browse/INT-3350
INT-3349 BeanFactory Propagation

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

Several FactoryBeans did not propagate the BeanFactory
to their created object(s). Beans that create messages
must have access to a bean factory to get the
message builder factory.

Fix the FactoryBeans and add a mock FB to all tests that
need one.

Add a runtime environment variable to make any infractions
fatal. This should be set to `true` on CI builds and on
framework developer environments.
INT-3354 Fix Priority Order in RedisPCMS

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

Wrong sort order; was treating priority 0 as highest.
INT-2595: Add Time-Based `ReleaseStrategy` Option

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

* Add `group-timeout` and `group-timeout-expression` to the Correlation Endpoint
* Add logic to the `AbstractCorrelatingMessageHandler` to schedule group for `forceComplete`,
when the target `ReleaseStrategy` returns `false`

INT-2595: Polishing according PR comments

INT-2595: Expose `lock-registry` and further docs

INT-2595 Doc and Test Polishing

INT-2595: Fix typos

INT-2595 More Minor Doc Polish
INT-3352 RedisLockRegistry

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

Provid a global lock registry, initially for the correlating
message handlers.

INT-3252 Polishing

- Use a discrete key for each lock and use Redis EXPIRE
- Use an internal DefaultLockRegistry to improve latency
    when threads are using the same registry instance.

INT-3352 More Polish

- Put localLock.unlock() in a finally block.
- Unlock localLock if acquiring the RedisLock fails.

INT-3352 Polishing - PR Comments

- PR Comments
- Improve equals()

INT-3352 Add Aggregator Integration Test

- move lock registry to the `util` package
- Add an aggregator integration test

INT-3352 Add Distributed Aggregator Test

- Simulates a distributed environment with a shared message
    store and distinct lock registries.

INT-3352 More PR Comments

INT-3352 Add Multiple Registry Tests

- Add tests to verify expected behavior when different registries are used.
- Polish javadocs.
INT-3353 Concurrent RedisMetadataStore

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

Shared metadata for PersistentAcceptOnceFileListFilters.

INT-3353 Polishing; PR Comments
INT-3358: Make `MutableMessage` package protected

JIRA: https://jira.spring.io/browse/INT-3358
INT-3353 Fix Docbook White Space

JIRA: https://jira.spring.io/browse/INT-3355
INT-3355 Improve Redis Tests, RedisLockReg.list()

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

Previously, the RedisAvailableTests unconditionally
flushed Redis; this is not appropriate and could affect
other builds on the CI server (as well as wiping out the
developer's Redis DB).

Change the tests to clean up their own redis data.

Also, improve `RedisLockRegistry.listLocks()` to use mget.
INT-3351: Add `@Poller` for Messaging Annotations

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

INT-3351: Polishing according PR comments

* Add `property-placeholder` support for `@Poller`
* Change `ref` to `value`
* Add JavaDoc for `array` workaround
* Add docs

INT-3351: Polishing and fixes

INT-3351 More Tests

INT-3351: PR comments

INT-3351 Final Polishing