XD-999 JSON - Add StepExecution Serialization
XD-163 Add CompositeModule

XD-937 injecting ModuleDefinitionRepository instead of ModuleRegistry to ModulesController (and XDStreamParser)

add in-memory repository for module definitions

InMemoryModuleDefinitionRepository delegates...
1. to superclass for composed modules
2. to moduleRegistry for 'normal' modules

modified resource assembler for ID by type & name

now defining moduleDefinitionRepository in shared config (based on store param)

updated code in this branch for ModuleType changes

added RedisModuleDefinitionRepository

added CompositeModuleDeploymentRequest

refactored imports for spring4 updates

ordered modules

now determining composite module's type asap (in controller)

added ModulesController test

added compose module test in ModuleCommandTests

added ComposedModuleStreamTests
XD-163 polishing

Add feedback on inferred module type

Use Jackson feature to handle subclass

Remove index check in params handling

Make ResourceAssembler a field

Use enum == instead of equals()

Avoid mutating existing list in parser

Remove unnecessary null check

Fix a test to match new command status description
XD-984 Create file to JDBC batch import module

The module uses the same pattern for initialising the database as the
JDBC sink. The initialisation code has also been extended to allow the
the column definitions to be dynamically created from the "names"
parameter supplied to the batch job.