XD-997 Adding initial partitioning support for hdfs-dataset sink

* Test that writes to local files using Hadoop API
* Javadoc polish in integration.hadoop packages
Update JobListener Option message
UI Moving progress indicator in stepexecution details to top
XD-1707 Support Named Channels in All MessageBuses

XD-1707 Register Named on-Demand Channels

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

Previously, only the `LocalMessageBus` registered named
channels with the application context.

Refactor the `SharedChannelProvider` by pulling it up to
`MessageBusSupport` and register named changed with the
context in the Rabbit and Redis MessageBus.

Move a test that was previously only run with the
`LocalMessageBus` to the abstract test class so it is run
for all buses.

Add a test for topic named channels.

The `TestMessageBus` code incorrectly replaced the
built-in message bus with a new bus. Instead, use
the `TestMessageBus` to wrap the existing message bus.

Polishing; Fix MBAChannelResolver BPP

Polishing - Move Channel Resolution to the Bus

Add support for Pub/Sub

Remove channel registrations from context when unbinding so that
a redeployment will recreate the infrastructure.

Polishing

Move MBAChannelResolver Logic to MessageBus

Also, remove channels map from the MessageBusAwareChannelResolver.
Admin UI Polishing

* Make sure that the buttons on the definitions list screen degrade responsively
* Order the list of Step Execution context variables by `key` ascending
XD-1475 Improve ZK exception handling

squashed PR review commits

* ignored exception arg is now vararg
* moved comments inside catch block
* minor javadoc tweak
XD-1705 Adding YARN classpath section in servers.yml for XD on YARN

- Rearranging XD on YARN servers.yml,

- Adding commented out stubs for deploying on phd20, hdp21, cdh5 based on respective distro's single-node VM
XD-1719 JobDeploymentPath deployment status

- Update status at `JobDeploymentPath` after the job module is deployed into a container
XD-928: Refactor DelegatingModuleRegistryTests
XD-928 Polishing

- Use a different package name to avoid "the type collides with a package" warning
- Fix type safety warnings
XD-1707 Polishing

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

Fix bad indentation (eclipse) and call super.recover() from
the AmqpRejectAndDontRequeueRecoverer that was subclassed
to add a WARN log.
XD-1708 Handle module re-deployments

- Update `DefaultContainerMatcher` to use zkConnection to obtain the list
of containers that stream/job module for the same definition might have already been deployed.
 - Filter out this list from the container candidates from the container matcher
- Update and refactor `ContainerListener`'s stream/job re-deployment methods
XD-1338 prep part 2 (work in progress)

Ultimately the goal is to provide the ModuleDeploymentProperties within the
runtime Module instance (e.g. SimpleModule) so that it can be accessed by
plugins. For example, the StreamPlugin will then be able to use any "consumer"
and/or "producer" properties when calling bindConsumer() and bindProducer()
methods on the MessageBus for a given Module.

While initially the plan was simply to pass those deployment properties along
within the DeploymentMetadata, that class itself overlapped with the recently
added ModuleDescriptor. So, this commit actually removes the DeploymentMetadata
class altogether. The ModuleDescriptor replaced the ModuleDeploymentRequest
object, and it wraps a ModuleDefinition (the "essence" of a module that is
shared by all instances within any stream) while adding the context for a
particular module instance within a stream (the group, index,
sourceChannelName, and sinkChannelName). Those properties are the ones that
were also exposed via DeploymentMetadata.

The most significant part of this commit is the modification to the constructor
for SimpleModule as shown below.

BEFORE:

	public SimpleModule(ModuleDefinition definition, DeploymentMetadata metadata) {

AFTER:

    public SimpleModule(ModuleDescriptor descriptor, ModuleDeploymentProperties deploymentProperties)
XD-1338 fix failing tests
Modify ContainerMatcher contract

- Use `Iterable` containers instead of `ContainerRepository` in ContainerMatcher
- Move the logic to filter the containers out of `DefaultContainerMatcher` and have it in
the `ContainerListener`
XD-1726: Change jacoco to 0.7 for jdk 8 builds
Also disabled doclint for jdk 8
XD-1666 Upgrade to Spring Shell 1.1.0.RC3
XD-1708 Polishing

- Add `notNull` assertion on containers in ContainerMater.match()
- Remove `getContainerExclusions` method
Handle NoNodeException in tests

- Suppress `NoNodeException` if thrown when ZooKeeper Stream/JobDefinition repositories deleteAll() is invoked from AbstractControllerIntegrationTests
XD-1727 UI: Add Stream/Job destroy option

- Add `destroy` service for stream/job definitions
- Handle `removal` of stream/job definition row from the page once the destroy request is successfully sent
- Add confirm action support
- Use Bootstrap `modal` to confirm the destroy action