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