XD-1824 Support RabbitMQ Cluster in source/sink

The rabbit connection factory supports cluster failover
by providing a list of `host:port` in the `addresses`
property.

Tested with:

xd:>stream create foo --definition "time | rabbit --addresses=localhost:5672,10.0.0.3:5672" --deploy
xd:>stream create bar --definition "rabbit --queues=foo --addresses=localhost:5672,10.0.0.3:5672 | log" --deploy

And shutting down local rabbitmq - failed over to remote.
Restart local, shutdown remote; failed back.
XD-1758: Use brokerURL for JMS but don't expose it as an option
XD-777: Prevent tapping on an inexistant module
XD-1760 Rabbit/Redis Bus Short Circuiting

For colocated modules, when instructed by the lead admin,
hard wire the modules together.

- When binding a short-circuited producer, save his properties in
the binding so they can be used to revert, when the consumer is
unbound.

- When the consumer is unbound, bind the producer to the bus
(concurrently with the direct binding), remove the direct binding,
then stop the consumer (so there is always at least one subscriber
to the producing module's output channel.

- If the consumer is re-deployed, switch back to short circuit.

- TODO: Currently requires a producer property `shortCircuitAllowed`

XD-1760 Polishing (Tests)

Add delay to redis check for empty queue.
XD-1856 Fix failing RemoteFileToHadoopTests after fsUri change
XD-1701: Remove need of Hadoop on admin classpath
XD-1856 Fix RemoteFileToHadoopTests

- Use `fsUri` instead of `spring.hadoop.fsUri`
XD-1442: Remove HadoopDistro enum

- Use ${xd.home} in the glob for hadoop distro
XD-1816: Generate module options doc in asciidoc

* Remove default from option description itself
* upgrade to grgit 0.8
* Generate shell reference in the git repo, and allow its push
XD-1360: Add deployment status for single instance

* Update to new REST API
XD-1853: Tap Fixture refactoring
XD-1822: Re-organize XD batch schema

- Move `IS_RESTARTABLE` and `IS_INCREMENTABLE` columns into new table
`XD_JOB_REGISTRY` along with `JOB_NAME`
- Rename `JOB_REGISTRY_STEP_NAMES` to `XD_JOB_REGISTRY_STEP_NAMES`
- Update SQL files for create/drop
- Update `DistributedJobLocator` to handle the insertion/updates
based on the schema changes.
- Fix Schema based tests
- Update regex for date check in jobcommandtests for up to 4 char timezone
JobCommandTests - revert to original regex
Fix test following https://github.com/spring-projects/spring-shell/commit/b19c8cecc9f517382ba5fca1bb10162e313d4a87
XD-1270: Add states to the deployment of stream

Summary of changes:

1. ModuleDeploymentWriter now returns ModuleDeploymentStatus
   which encapsulates everything related to individual
   module state.

2. The ModuleDeploymentStatus objects are aggregated and
   passed into an implementation of new interface
   DeploymentUnitStateCalculator which calculates the
   state of the job/stream based on the individual module
   states.

3. Interface DeploymentUnit was introduced to cover the
   common attributes for streams and jobs.

4. The status for streams/jobs is written into ZK under
   /xd/deployments/streams/<name>/status and
   /xd/deployments/jobs/<name>/status, respectively.

5. As a result, modules for streams and jobs are now under
   /xd/deployments/streams/<name>/modules and
   /xd/deployments/jobs/<name>/modules, respectively.

6. The stream and job repositories have a new method
   getDeploymentStatus which may be invoked to obtain
   the state of a stream/job.

7. Stream and job states are recalculated when a container
   joins or leaves the cluster.

Addressed PR comments