XD-1304: Add job instance display command
Fix Job module options

- Changed the getter method name for the property
"restartable" in JdbcHdfsOptionsMetadata to "getRestartable"
so that Metadata BeanWrapper's PropertyDescriptor sets
the read method name correctly.

- Initialize `tableName`, `columns` and `sql` properties with empty text
so that their placeholders in jdbchdfs.xml get set. This doesn't do any
harm as NamedColumnJdbcItemReader checks it again.

- Changed the return type of the boolean getter methods to primitive type
boolean in some of the job module options metadata pojos.
XD-1215 DistributedJobService to return valid Job

- Persist step names into distributed job locator
registry table JOB_REGISTRY_STEP_NAMES so that
DistributedJobService can find step names from the
XD Admin server
- Check and add jobParameterIncrementer before launching job
- Renamed BatchJobLocator to DistributedJobLocator
- Added tests
- Added guarded check to SingleNodeStreamDeploymentIntegrationTests
to make sure the correct test message bus is used in tests. (Though
this is not relevant to the PR)

Fix typo

- Also fixed the license header file in eclipse metadata
XD-1332 XD Int Test pauses should be configurable

Exposed properties in the build.gradle

Had to add support for relative directories for the CI Build

Updated documentation

Updated Documentation
XD-1309: Skip option validation when doing completion
XD-1122 Add mgmtPort option

Adds an option to set the port on which Spring Boot's management
server listens. 

- Added `mgmtPort` as a CommonOption (for both admin/container)
- The management port can also be set via `XD_MGMT_PORT` as an environment
  variable property
- By default, the mangement port uses admin/container server port in
  admin/container servers respectively.
XD-1021,1037,1277,1039 Fix composed module options

Implement module options advertising and dispatching for composed
modules.
XD-647 Refactor message converters to implement MessageConverter interface

XD-647 merged ModuleTypeConversionPlugin

XD-647 Http source emits byte[] by default

XD-647 General cleanup, added custom converters hook

XD-647 Revert to http source emitting String by default, and Javadoc

Fix generics warnings

Bump groovy version
@Ignore a failing test for now pending investigation
XD-1321 XD-1322 Creating shell scripts and support classes to start XD on YARN

- Adding new spring-xd-<version>-yarn.zip file containing spring-xd-yarn zip and
  client and appmaster jars along with customization files and scripts

- Adding xd-admin and xd-container scripts for YARN

- Adding YARN Client and Appmaster implementations

- Removing directory paths from xd-yarn zip distribution

- New application.properties file can be used to override config options
XD-1291 Graceful container shutdown

- When the container shuts down, there are following application
contexts:
 - (1) ParentConfiguration global context
 - (2) LauncherApplication context whose parent is (1)
 - (3) Common context (from module common)
 - (4) Deployed modules contexts whose parent is (3)

With Boot RC3, the shutdown hook is registered only on (1)
and all the child contexts are subsequently closed using
ParentContextCloserApplicationListener.

This PR addresses the order in which the modules contexts are
closed by making sure the consumer modules (sink/processor) get
closed before the producer modules (if all are deployed inside
a same container).

- ModuleDeployer, during its destroy() will only publish the module
undeployment events as the modules contexts and the common context are closed
appropriately before the ModuleDeployer is destroyed.
XD-1291 Change precedence order

- The producer modules context should be closed before
the consumer modules context.
XD-647: Enable text/plain conversion on byte[] payload
Fix generics warning
XD-1351 Replace Plugin.preprocessSharedContext

- replaced Plugin.preprocessSharedContext with ApplicationListener

- removed duplicate codec bean

- module-common.xml comment and dup method in TestStreamPlugin
XD-1209 external config support for Windows

- Fix xd batch scripts to pass XD_CONFIG as the jvm arg
by setting `spring.config.location`
  - made sure the `file:` URL prefix is added to XD_CONFIG
  - Handle double quotes appropriately. If an environment variable
    has space in it, it is expected to receive the variable in
    double quotes.
XD-1354

Removed XDContainer.

Added ContainerMetadata for use in container events.
(will likely be replaced with the domain model we design for the upcoming ZooKeeper-based runtime update)

Renamed LauncherApplication to ContainerServerApplication.

Moved config location constants to a new ConfigLocations class within the util package.

Updated scripts to use ContainerServerApplication.
XD-1358

Removed unnecessary config files.

Renamed container.xml to container-server.xml (which is imported by ContainerServerApplication) to be consistent with admin-server.xml (which is imported by AdminServerApplication).
XD-1357

If ZooKeeper is available based on the client connect string, the Container's host and PID are written to an ephemeral node under /xd/containers.

That node's name will match the Container ID.

The ID is generated within ContainerMetadata and set on the ApplicationContext via an initializer.

Removed the ContainerStartedEvent publishing from ContainerServerApplication.
Exclude jline 0.9.94 dependency from curator

- The subproject spring-xd-dirt's compile dependency Curator 2.4.0 has jline 0.9.94
as a transitive dependency.
Currently, spring-xd-shell's spring-shell has jline-2.11 as the dependency.
Since, spring-xd-shell has spring-xd-dirt as "testCompile" dependency, there is
a conflict using spring-xd-shell only from within IDE.