XD-1146 Add Async Request/Response to MessageBus

Add async request/response support to the MessageBus.

Initially to support batch partitioning over supported
transports, but generally applicable.

Simple partitioned job creates two partitions.

Add Code to JobPlugin.removeModule() to unBind the request/reply channels from the bus.

Add Rabbit Partitioned JobPlugin Test

Separate Partition Infrastructure allows user-defined jobs to import the infrastructure and just provide partitioner and tasklet beans.

Add Redis Message Bus Request/Reply Support

Fix Test After Rebase

Add more mocking to prevent NPE in test where we looked for the batch
partitioning channel(s).

Update to Batch 3.0.0.BUILD-SNAPSHOT

- includes spring-batch-integration
- Added new JobInstance 'instanceId' to Jackson Mixin
- fix some tests due to JobExecution constructor change
- Batch 3.0 no longer rejects duplicate executions when there are no parameters
    https://github.com/spring-projects/spring-batch/commit/ce16ad2b03b2370498e192ff7ad48052a4951f77#diff-325bf951caf9852e15e7490744cd9317L125
    fix tests for allow/disallow duplicate executions to add a parameter
- Remove the JobRepository DB before starting tests

Polishing

 - Remove requestorName from bindReplier
    Use a common name and identify the requestor/replier internally
 - Allow requestor/replier to bind in any order

Fix Excludes

Incorrect syntax for exclude of old s-b-integration.

Polishing - PR Comments
Minor update to xd-config.yml to show how to update hsqldb host, port and dbname
XD-1022. Display module list by type.

XD-1022. Clean imports

XD-1022. Favour Assert over Preconditions.

XD-1022. Reuse existing iterators.

Add Copyright header, simplify rendering.
XD-1249 All Shell Integration Tests run from Suite
XD-1254 - Moved container setup to @BeforeClass

XD-1254 Fixed typo in Redis....Tests

XD-1254 removed System.out.println()

XD-1254 cleanup per review
Add missing ClassRule TestSupport

Since the Redis/Rabbit SingleNodeIntegrationTests' startup() method
is changed to be static, we need to apply static @ClassRule to
check the TestSupport rule for Redis/Rabbit availability.

Also, the ShellCommandsTestSuite requires ClassRule as the
AbstractShellIntegrationTest has the RedisTestSupport
Prevent NPE if no db files are present
XD-1224: Add gradle jacoco test coverage.

- Update gradle to version 1.10
- Enables the jacoco plugin for relevant projects.
- Adds an aggregate 'coverageReport' task at top level to accumulate all
the data for the sub projects.
- Removes the additional jacoco configuration for sonar. Sonar now uses
the coverage data files produced by the gradle plugin.
avoid rawtypes warnings
Miscellaneous minor improvements

Made SingleTableDatabaseInitializer.setScripts signature
consistent with super class.

Removed unneeded assertion in ContentAwareConverterRegistryTests
that fails with Spring Framework 4.0.1.
XD-1224: Remove unnecessary jacoco dependsOn config

The tests are instrumented regardless of whether the individual test
report tasks are run or not, so it isn't necessary to have the aggregate
coverageReport task depend on them.
Fix NPE on SingleNodeStreamDeployment test

- Changed the AbstractSingleNodeStreamDeploymentIntegrationTests' shutdown
method to be called after the cleanup method in MessageBus specific integration
tests. Since the cleanup methods on those classes use the context, this will
always make sure the context is available.
  - Created junit ExternalResource @ClassRule and implemented after() method
to call the shutdown so that it will be invoked after the @AfterClass based on
junit lifecycle methods.