INT-2993: JCMStore: fix 'idCache' race condition

Previously there was a concurrency race condition, where
`parameters` with `idCache` for poll Messages query had one state on building phase,
but had another one on execution phase.

* Introduce `ReentrantReadWriteLock` `idCacheLock` for operation around `idCache`
* Change `idCache` to simple `HashSet`, because thread-safety is guaranteed by `idCacheLock`
* Add a concurrency test-case, which failed before fix

JIRA: https://jira.springsource.org/browse/INT-2993
Merge pull request #815 from artembilan/INT-2993

* artembilan-INT-2993:
  INT-2993: JCMStore: fix 'idCache' race condition
INT-3035 Fix ExponentialMovingAverageRate 'window'

'window' constructor arg was not used.

Add test.
Merge pull request #812 from garyrussell/INT-3035

* INT-3035: Fix ExponentialMovingAverageRate 'window'
INT-3031 Fix RMI Remote Failed Message

When a remote flow throws a `MessagingException`, it is unwrapped
and the local `failedMessage` property is the remote failed
message instead of the message that arrived at the outbound
gateway.

Detect a remote MessagingException and wrapt it in a new
MessagingException so the `failedMessage` property is the
original message and the `failedMessage` on the cause is
the remote failed message.
Merge pull request #818 from garyrussell/INT-3031

* INT-3031: Fix RMI Remote Failed Message
Update Spring Social Twitter version to 1.0.4

(Refactor) Use SearchParameters for searching Twitter
Merge pull request #816 from habuma

# By Craig Walls
* twitter-api-retire:
  Update Spring Social Twitter version to 1.0.4
INT-3053 Allow task-executor on <reply-listener/>

JMS Outbound Gateway did not allow the specification of
a task executor on the <reply-listener/> element.

This could prevent the gateway being used with a
listener in a JEE container.

Allow setting a task-executor.

Add a bean name to the reply listener container so
that a default TE will create suitably named threads.

INT-3053 Polishing

Fix container bean name when the gateway has no
bean name.
Merge pull request #819 from garyrussell/INT-3053

* INT-3053: Allow task-executor on <reply-listener/>
Update Spring Social Twitter to 1.0.5
INT-3037 Fix JDBC MS Discard After Completion

INT-3037 - commented out sizing component

unit test to support

cleanup

updated commit as per Artem's comments May 29
Merge pull request #814 from willschipp/INT-3037

* INT-3037:
  INT-3037 Fix JDBC MS Discard After Completion
INT-2620 Fix Debug Log

New connection debug log should include this.getConnectionId() instead
of this.toString().

Noticed during backport to 2.2.x.
INT-2721 Increase Timers on JDBC Delayer Tests

Still fail when the build server is under heavy load.
INT-2990 Remove System.out in PipelineJmsTests

Polishing: Make logger final; add log of test config;
same change in PipelineNamedReplyQueuesJmsTests; author
credit.
Merge pull request #817 from alighm/INT-2990

* INT-2990:
  INT-2990 Remove System.out in PipelineJmsTests
INT-3086 Update Spring-AMQP to 1.2.0.RELEASE
INT-3083 Update Spring Data Redis to 1.0.5

INT-3080 Invoke RedisTemplate.afterPropertiesSet() when instantiating
programmatically.

INT-3084 Redis channel was incorrectly calling discard() during stop() (a multi-operation).
INT-3084 Fix timing issue in test (NPE)
INT-3066 Fix NPE During Connection Recovery

The JmsOutboundGateway's Listener container could throw
an NPE during connection recovery - while logging recovery
status.

The log attempts to include the destination description which
throws the NPE if there is no destination yet established.

Only attempt to get the description if the destination has
been established. And, even then, use a try/catch block
to prevent the NPE. Log the destination as 'null' in this
case.

Add a test case to detect the NPE by adding an ErrorHandlingTaskExecutor.

No errors should be detected with the fix in place.