INT-2931 Fix Router Race Condition

AbstractMessageRouter.getRequiredConversionService() and
IntegrationObjectSupport.getConversionService() try to initialize the
conversion service and may be called from multiple threads. There is
a race condition where this could end up in an uninitialized conversion service
causing NPEs in subsequent method calls.

To solve this issue, the conversion service is initialized with
double-checked locking.

For further details see https://jira.springsource.org/browse/INT-2931
INT-2936 Fix TCP Binary DeSerialization with NIO

Inadvertent sign extension on binary data with bit 7 set
causes early termination of binary deserializers.

The ChannelInputStream (which replaced the piped input
and output streams) failed to mask off the top 24 bits
of "normal" bytes received, causing Deserializers to
believe the stream was closed.

Add a mask of 0xff to bytes read.

Add a test case.
INT-2936 Polishing

Fix Test in 2.2.x branch.
INT-2937 Fix Race Condition in MGS Reaper

Groups changed within the same millisecond that they
were selected for reaping can cause aggregators to
emit duplicate messages.

Use the re-fetched group (used to see if the timetamp
changed) instead of the group passed in to forceClose
(the group might have changed since it was selected as
eligible for reaping).

We still retain the last modified check because it
might have been expired using timeoutOnIdle.
INT-2950 Use spring-amqp 1.1.4.RELEASE
INT-2945 - StoredProc isFunction Property Not Set

For reference see: https://jira.springsource.org/browse/INT-2945

* ensure that for StoredProcedure Inbound Channel Adapter the *isFunction* property is set
* add test

INT-2945 - Code Review - Add Tests
[artifactory-release] Release version 2.2.2.RELEASE
[artifactory-release] Next development version
INT-2952 Update Bundlor Ranges for 2.2.3
INT-2957 Remove Unnecessary AspectJ Dependencies

Core, JDBC, JMX, JPA each had dependencies for both
weaver and rt jars. weaver is a superset of rt.

Remove dependencies on the rt jar.

Further JDBC, JPA have no dependencies on AspectJ.

Finally, the JMX dependency was compile, when only
testCompile is needed.

However, to avoid breaking applications using 2.2.x
that might be relying on the transitive dependency
it is left at compile in this release.
Merge pull request #766 from garyrussell/INT-2957-backport

* garyrussell-INT-2957-backport:
  INT-2957 Remove Unnecessary AspectJ Dependencies