XD-990 Adding storage, reader and writer implementations for text data

Base model for storage, reader and writer for text data. Support
for csv and tab delimited data for writer. Classes also have preliminary
support for codecs and splits due to import of existing poc code.

XD-990 Make variables as final

XD-991 Add lzo codec infos

XD-990 Fix typo

XD-990 Fix possible problem with concurrency

XD-990 Better check that we don't end up with NPEs

XD-991 Adding tests for gzip and bzip2 compression

XD-990 Fixed few accidental errors

Removed one constructor because it's not used,
fixed copy/paste typos.

XD-990 Better exception handling for close of streams

Adding stream closing code in StreamsHolder which removes
boilerplate code from its user. Catch and throw error
if multiple holders are closed within a same call so
that all streams are tried to get closed.

XD-990 Forcing AbstractStorage to implement Storage

Per review this base class should implement Storage.
Adding close() method which sub-class may/should call.
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-942 Changed repo URLs to spring.io
Add job modules to gradle projects list
XD-935 TupleCodec uses kryo serialization

XD-935 Fixed test issues. Upgraded to kryo 2.22 and made tupleToStringConverter transient
Fix NPE in StreamTestSupport

Only call stop in cleanup if node instance is not null.
Fixed dead assignment in ModuleTypeConversionPlugin
XD-1019 + Default RetryAdvice to Rabbit MessageBus

Add default advice - 3 attempts and log when exhausted.
XD-1023: Simplify JobDeploy method signature

XD-1008: Add job instance awareness

Fix filing test by requirring pre-deploy
XD-995: Use matcher and hence eventually()
XD-1015 XD UI changes

- Upgrade bootstrap to 3.0.0
- Use LESS CSS authoring to manage bootstrap styles
- Better responsive layout

XD-1000 JobDefinitions Page

- Added JobDefinitions, Deployments and JobExecutions templates, views
- First phase of changes for their views

- Removed debug for wire.js
- Updated the refresh interval to 4s
- Added UI container's margin-top style property
XD-1025 UI Job deploy/undeploy

- Implemented Job deploy/undeply at the job definitions page
- Updated status info on row basis
XD-753 Batch Repo host needs to be in props file

The jdbc host for the batch repo was only declared in the batch.xml.

It has been replaced with a property setting in the conf/hsqldb.properties file.

Host default is localhost.

Also I changed the default dbname from test to xdjob.

XD-753 Code Review changes implemented

Removed defaults from batch.xml

Changed hostname to host in JobRepoTests
Temporary Fix - Change to JsonToObjectTransformer

Quick fix for a recent change to the SI JsonToObjectTransformer.

Clone the old version of that class into XD.
XD-1014 + XD-1013 Show XML Config File Contents

XD-1013 Add additional REST endpoint that return the XML definition of a job
XD-1014 Command to show the XML of the job definition

Code Review Changes

* change rest endpoint url to `modules/{type}/{name}/definition`
* change MediaType to `application/xml`
* shell UI improvements
* polish exception handling

On Merge:
* Simplify client code
* Change exception type when not found
Fix tests following previous merge
XD-1030: Refactoring to JdbcMPTransformer

Change the inheritance of `JdbcMessagePayloadTransformer`
to `AbstractPayloadTransformer`, not `JsonToObjectTransformer`
as far as this transformer is 'payload transformer', not 'json' one.

JIRA: https://jira.springsource.org/browse/XD-1030
XD-1003 Job Launch w/o jobParams

- Launch job without job parameters
- Update status message & job deployment/executions page