XD-1938: Prevent shell crash in completion

- Add logging
XD-1906 WebUI: Refresh Job/Stream deployment states

- Add `$timeout` to refresh the stream/job definition list page so that the deployment state for all the stream/job(s) are in sync.
- Cancel the `$timeout` when the corresponding controller's `$scope` is destroyed.
- Make page refresh time configurable
XD-1953 Handle undeploy modules upon container shutdown

- When the container process is shutdown, the `Stream/JobModuleWatcher` in
ContainerRegistrar process `Stream/JobDeploymentsPath` node deleted event.
In this case, it triggers undeployment of all the corresponding modules.
But, by the time the undeployment happens the module context is already
closed.
- The fix checks if the module context is active when any of the
Module getComponent() is invoked.
- Fix JobModuleWatcher catch clause to catch `Exception` instead of `KeeperException`
 and subsequently check for Curator STARTED state
XD-1956: Moved deletion listener to be configured as a step listener instead of a job listener
Restore PubSub Producer Exchange Declaration

XD-1786 incorrectly removed the declaration of the exchange
on the producer side.

Although tap producers are not created before consumers, a
named 'topic:' would publish to a non-existent exchange
until a consumer is bound.

Spring AMQP now logs such publications as an ERROR.
Fix bower:install file resolver issue

- Thanks to suggestions from: https://github.com/bower/bower/pull/1403
XD-1959: NoNodeException after bouncing admin

Handling case where stream state is being calculated for
a stream with no stream modules deployed.
XD-1957 Remove footer from the adminUI
Upgraded Curator to 2.6.0
XD-1960 Module deployment upon new leader election

- Upon new leadership election, when the `ContainerListener` deploys
unallocated stream/job modules (via ArrivingContainerModuleRedeployer)
check for any existing deployments on the container in context.
 - If there are deployments on this container, then ignore the
container for unallocated module deployments given that this
container has already participated in module deployments.
 - Only caveat with this approach is that, since the
existing container may still have no deployments because of no
matching criteria, this would still run the unallocated module
deployments against this container (obviously no modules would be
deployed eventually).

This approach seems to work better than having some other logic
to compare against deployed modules of the same module type
for a given stream/job.

2nd commit message:

Fix code review comment

- Check for boolean to know if the arriving container has any
deployments instead of checking if the node is empty.
XD-1967 exclude hadoop installs from forceDependencies
Increase logging when running on travis
Acc Tests handles different formats for EC2 IP

EC2 commonly suffixes internal IPs with .ec2.internal, however sometimes they do suffix their IPs with compute-1.internal.  This change supports any IP suffix EC2 issues.
XD-1958 Fix Partitioned Batch Jobs

JIRA: https://jira.spring.io/browse/XD-1958

With the `RabbitMessageBus`, the `replyChanel` header was
not propagated and so the aggregator failed to deliver
the step execution results to the partition handler.

Use a `HeaderChannelRegistry` to propagate a key
referencing the `replyChannel`.

With the `RedisMessagebus` there was no provision to
propagate *any* headers needed for paritioning
(`correlationId`, `sequenceSize` etc).

Add a list of standard headers to propagate and a
facility to add additional headers (at the bus level).

Add tests to assert propagation; also tested manually
with the file->jdbc job with 3 partitions (both Rabbit
and Redis).