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.
Move filepollhdfs to config/ format
XD-2114: Job stuck in "deploying" state when no containers are available

Introduced a new test for job state transitions.

Modified JobDeploymentListener to ensure that job state is correctly
updated if a job deployment fails due to the lack of containers.

Addressed review comments
XD-2269: Remove module definition display
XD-1880 Count integration tests

Last tests to implement before removing test scripts.

Code Polishing
Removed separate deployer thread

In commit a272d51 a separate thread for stream deployments was
added in order to avoid slowing down the Curator thread responsible
for cache updates. However this may lead to a race condition where
the Curator thread (from handling a container arrival event)
may deploy a module at the same time as the dedicated initial deployment
thread.

The fix is to remove the separate initial deployment thread and
force all deployments, regardless of source, into a single thread.
XD-2109 WebUI: set 'makeUnique' when creating job

* Specify `ng-true-value="true"` and `ng-false-value="false"` in `module-create-definition.html`
* Add `toString()` to `DetailedModuleDefinitionResource`
XD-1016: Provide an option to pretty print JSON on the bus
Removed tabs from servers.yml