Fix package tangle

- Move StreamFactory from org.springframework.xd.dirt.core to org.springframework.xd.dirt.stream
Fixed issue with stream/job undeployment

When undeploying a stream/job the stream/job definition is loaded
in order to perform a graceful undeployment of the underlying
modules. However if the stream/job definition has already
been removed from /xd/streams|/xd/jobs then the definition
cannot be loaded. This fix will prevent an attempt to read
a definition that has been removed.

Test improvements, improved JSON parse error

AbstractSingleNodeStreamDeploymentIntegrationTests.moduleChannelsRegisteredWithMessageBus
will fail fast if module deployments fail.

Ensure that thread interrupt is honored in SingleNodeIntegrationTestSupport.waitForStreamOp.

MapBytesUtility will include an improved JSON parse error message.

Bug fixes

Fixed issue with admin server using cache of /xd/deployments/streams
to read stream definitions instead of /xd/streams.

Fixed issue where admin server was always assuming that
/xd/streams/stream-name was always expanded (implying that
all streams are deployed).
using StreamCommandListener in integration tests
avoid race condition for deploy/undeploy events
Obtain stream list from deployments path

When a new container joins the cluster the admin will determine
if a module should be deployed to it. This change ensures that
only deployed streams will have their modules considered for
deployment.
XD-1481 - Remove spring-xd-analytics-ml-pmml project

Removed from the build.
Updated spring-xd-analytics-ml with implementation/tests in https://github.com/thomasdarimont/spring-xd/tree/feature/XD-1420
Fix UI build dependent task

- Make `:spring-xd-dirt:installApp` dependsOn `:spring-xd-ui:setupUI`
XD-1469: Fix aggreator correlation
Upgrade to Spring Boot 1.0.1
Add more verbose curl output and pauses.

Test 4 is failing consistently on the CI server with
no obvious reason, so trying to eliminate possibility
of a race condition.
XD-1491, XD-1492 Support Container Attributes

Added --groups command line arg

Renamed ContainerMetadata to ContainerAttributes
XD-1506 Adding admin-ui to YARN zip packaging
Fix footer content on the UI

- Update license to read "Code licensed under Apache Open Source"
Fixed AbstractSingleNodeStreamDeploymentIntegrationTests

flipped if/else while merging
XD-1431 Support multiple AdminServers on same host

- Add Standalone HSQLDB server application
  - Have HsqlServerApplication as boot SpringApplication which loads hsql datasource and start/stop HSQLServerBean
during its context lifecycle
- Make SingleNode server start/stop HSQLServerBean during its lifecycle
- AdminServer and Container wouldn't start the HSQLServerBean (if hsqldb is choosen as batch datasource)
  - Add BatchDatasourceVerificationListener to AdminServer that checks if at least one of the batch datasource profiles is selected and exit AdminServer if not
- Remove jdbc.properties as it is not being used
- Fix tests

XD-1431 Add hsqldb-server scripts

- Add scripts and make them available inside $XD_HOME/bin/
- Make HSQLServerBean available only in singlenode and standalone hsqldb
- Fix profile name for singlenode

XD-1431 Remove profiles check on HSQLServerBean

- Since HSQLServerBean is only available in singlenode and standalone-hsqldb, we can remove
explicit check on profiles before start/stop

XD-1431 Add spring-xd-hsqldb-server project

- Create a helper project that has spring-boot, hsqldb and misc dependencies
- Move HSQLServerBean into this project
  - Create profile `hsqldbServer` and make it active for XD singlenode and standalone HSQLServer
  - Create explicit datasource with hsqldb properties to not to initiate embedded database from DataSourceAutoConfiguration
- Make this project an application
  - This will enable scripts and lib to be available following installApp gradle task and
have `copyHsqldbInstall` that will have `hsqldb` under build/dist/spring-xd
  - Set `XD_HOME` explicitly in hsqldb scripts so that the data home directory being used will have XD_HOME used
- Add this project as a dependency to `spring-xd-dirt`
  - This will enable singlenode application to use HSQLServerBean from spring-xd-hsqldb-server
  - It is expected to have the data source running prior to starting XD admin

XD-1431 Fix review comments

- Remove Datasource initializer references and use XdBatchDatabaseInitializer to
initialize batch schema along with registry schema
- Create spring-xd-batch sub project
  - Use this project to hold batch related schema and classes
  - Delete spring-xd-hsqldb-server and move the HSQLServerBean and HsqlServerApplication classes into this
  - Create HsqlDatasourceConfiguration which imports hsql-datasource
- Update hsqldb-server scripts
  - Remove XD_HOME and XD_CONFIG references and use xd.data.home to specify hsqldb data directory
- Remove the use of explicit jdbc datasource profiles
  - Delete DataSourceVerificationListener

Rename batch -> hsqldb in case of install scripts