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