XD-1329 Add Kafka source module

- Add kafka source module with consumer configurations
- Add `spring-xd-extension-kafka` subproject
  - Add Kafka module options mixin and  source module options metadata

Fix code review comments
  - Add kakfa zkconnect chroot path for kafka zk namespace
     - Allow the `zkconnect` property be overridden via modules.yml/kafka.properties
  - Update javadoc for StringDecoder
  - Update kafka inbound channel adapter's poller interval to `100ms` and
    max-messages per poll to `-1` which is unlimited.

Add `encoding` module option for string ValueDecoder

- Use `util:properties` for consumer-properties
  - Add config/kafka-consumer.properties to externalize the properites

Add Kafka Message transformer
  - Message transformer that transforms the kafka messages into
Map<Integer,Object> where key is partition index and value is payload.
XD-2214 HTTP SSL Source Fixes

XD-2214 Fix typo in httpSSL.properties

XD-2214 (cont) Use the keystore password instead of the hardcoded value
XD-2059 Add retry for remote file copy FilePollHdfsTest

FilePollHdfs sporadically fails to create files on remote machines

* Added waitForJobToComplete instead of waitForXD
* createDataFileOnRemote retries to create data file if file is not present of data of file is incorrect, up until wait time is exhausted.
XD-2178 Adding single numeric column partitioning to jdbchdfs job
Add missing licenses and minor code review updates

The following changes were made in this commit:
* Fixed spelling mistake in JdbcHdfsOptionsMetadata
* Moved test table creation/deletion to JUnit lifecycle methods to
 prevent cascading issues.
* Fixed code licenses.
XD-2196: Refactoring of ContainerRegistrar

Moved module creation to ModuleDeployer
XD-2197: Introduce ModuleFactory

refactoring ModuleFactory - made SimpleModule abstract

Some reformatting per Patrick's comments

minor tweaks

rename classLoader to parentClassLoader in ModuleFactory

restored CompositeModule constructor to public and removed PassthruModuleOptionsMetadataResolver

 fix CompositeModuleTests

Refactoring of ModuleDeployer

* Addressed thread safety issues
* Optimized iteration of plugins for modules

 clean up per MF comments
Randomize ports during tests
changed to use use class name for static method
XD-2118: provide a shell command processor

XD-2118 - Added more configuration options and shell sink

XD-2118 Improved error handling and process monitoring copying (somewhat) from SI native tail adapter

XD-2118 Added default values for optional properties

added PythonAvailableRule
XD-1519 Adds missing Job Registry schema files allowing to use GemfireXD and Derby-style databases as main Spring XD storage.

Added files is a copy of MySQL schema files. Works fine with GemfireXD 1.3.0.
#1184
XD-2172 Parameterize transaction isolation level used by Spring Batch JobRepository

Add custom BatchConfigurer to the batch/batch.xml file to make the JobRepositoryFactoryBean settings
available for configuration via server properties. The Spring XD specific BatchConfigurer is a modified copy
of the org.springframework.batch.core.configuration.annotation.DefaultBatchConfigurer
removed process.available() in PythonAvailableRule and added parameterized type
XD-2180 Adding --commitInterval option to batch jobs

- this allows us to change this depending on data volumes

- default is now 1000 instead of 100, much more performant for average case
XD-2178 Adding integration test for partitioned jdbchdfs job

Removed System.out.println
XD-2237 add python module for implementing processor
XD-2237 removed stray .pyc and __init.py
XD-1972: Add ability to define nested jobs
JIRA: https://jira.spring.io/browse/XD-1972
* add suport for nested jobs
XD-1972: Made nested jobs a non-breaking change

This commit converts the logic of how a job is named so that if there is
more than one Job in the module's context, the one to be executed must
have the id "job".  If only one Job exists in the module's context, then
it can be any name.
XD-2231 Update batch configuration keys to be camel case