Fix ShellCommandProcessorTests
  - Fix echo.py stream python module path
XD-2239 Make container IP/hostname configurabale

* Make the container IP address configurable
* Make the container hostname configurable
* Add tests

XD-2239 Code Review changes
XD-2239 Fix container host key
Fixed ShellProcessorTests redux
XD-2238: Improve module deployment distribution

Introduced a "quiet period" property. The quiet period is the amount
of time that must elapse after the newest container arrives before
deployments to new containers are initiated. A short quiet period
is ideal for development environments because it results in quick
deployments to new containers. In production environments, longer
quiet periods are desirable because it will prevent the first few
containers from receiving all deployments.

Note that this property only applies to module deployments to new
containers; deployments initiated to existing containers are not
subject to delays.

When new containers connect to ZK, module deployments to the
new container are scheduled on the same executor service that
is handling all module deployments. If new containers arrive
during the quiet period for the first container, the deployment
will be rescheduled for the quiet period after the newest container
arrival time.
Add BeanFactory to Twitter Test
XD-2113: Fix redis agg-counter when right of interval on the hour

* Documented concatArrays
* Fix indentation, typos
XD-2286: Simple OOTB job for testing

The "timestampfile" job will append the current date/time to a file
when launched. This job can be used to validate a Spring XD
installation and to verify that jobs can be deployed. This serves a
similar purpose to "time | log" for streams.

This job supports the following options:

fileName
  Name of file to write timestamps to. Excludes parent directory and
  file extension. Defaults to the job name.

directory
  Name of directory to write timestamp file to. Defaults to
  "/tmp/xd/output/".

fileExtension
  Extension for file to write timestamps to. Defaults to "txt".

format
  How to render the current time, using SimpleDateFormat. Defaults to
  "yyyy-MM-dd HH:mm:ss"

restartable
  true if the job may be restarted.  false by default
XD-1791 Add Spark job

 - Add `SparkTasklet` that can run spark application in `client` mode
     - In client mode, the spark driver gets executed within XD container as a job module
     - workesrs run locally for master set to local
     - workers run on cluster for master set to spark or mesos URLs
     - yarn-client and yarn-cluster are not supported

 - Add module options to provide
     - master: to point to spark master
     - mainClass: the main class for the spark application
     - appJar: the bundled jar for the application and its dependencies
     - programArgs: the comma separated program arguments for the main class
     - name: the name of the Spark application
     - files: comma separated list of files to be placed in the working directory of each executor
     - conf: comma seperated list of key value pairs as config properties

 - Logging and handling of logs from Spark application execution
     - logging at error level when exit code != 0
     - logging app completion message at info level
     - logging Spark log at debug level
     - storing Spark command in step execution context
     - storing Spark log in step execution context
XD-2121 Add LDAP authentication support

* Establish an xd.security.authentication.ldap configuration root
* Support for LDAP bind authentication with user direct bind and user search
* The intent is for various authentication managers to live in the `org.springframework.xd.dirt.server.security` package, be scanned and activated depending on the configuration properties
* Group search support
* Tests for bind and search-and-bind configuration scenarios

NOTES:

1. Group management, while supported, will have no effect on security, as roles re anot applicable ATM.
2. Password comparison support should make the subject of another JIRA/PR as it is a common feature across various configuration mechanisms.
XD-2225 Paging support for Job Execution REST endpoint

* Make `BatchJobExecutionsController#list()` handle `Pageable`
* Add pagination for job executions to Admin UI

XD-2225 Code Review Changes

* Add test
* Polish BatchJobExecutionsController
* Rename Admin UI service method to `getAllJobExecutions`

XD-2225 Fix Shell
Remove dead/deprecated code
XD-2198 Refactor and simplify module registry
XD-1077: Use Boot Archive for module ClassLoader
Fix broken tests related to 'dummy' MD
XD-1077 removed dummy.jar
XD-1077 added bootUberJar test
XD-2098: KafkaMessageBus

Fix remaining tests

Fix some warnings

Remove unneeded class

Externalize config

Add javadoc

Re-arrange code

Fix indentation

WIP debugging failing test

Ignore some tests for now
XD-2224 Paging support for job configurations

- Add paging support for `/jobs/configurations/` REST endpoint
- Update tests
- Update XD web UI to add pagination view
XD-923 Add Option to Auto Declare/Bind DLQ

Add bus-level and consumer-level option `autoBindDLQ`.

When `true` when a consumer is bound, the bus will declare
the DLQ with name `xdbus.name.dlq` and bind it to exchange
`xdbus.DLX`. (xdbus is configurable using the `prefix` property).

Also, change queue and exchange declarations to perform passive
attempts first; this avoids issues if the user has pre-declared
the elements using incompatible arguments.

Test Polishing

Use prefix 'xdbustest.' for test entities.
Unbind the consumer.
Remove all test entities.