XD-1659 Hdfs Acceptance Tests

- hdfs Acc test will wait for file/dir to be created.

  We identified that on a fresh deployment of XD it takes longer for the hdfs to deploy.  So we give it up to 10 seconds to see if the hdfs created the directory before beginning the test.

- waitForPath now throws IllegalStateException instead of eating the Interrupted Exception.

  Also updated the test to use the results from the waitForPath in the assertTrue to determine if the directory and file exist.
XD-1618 UI: Stop JobExecution

- User can stop stoppable job execution
XD-1617 UI: StepExecution progress info

The user can view progress information about a given step

* Add Progress Bar with percentage label to the Step Execution details Screen
* Add dedicated Step Execution Progress page; show Step Execution history details (XD-1625)

Jira: https://jira.spring.io/browse/XD-1617
Remove defaults from log sink metadata description
XD-1641 Handle batchJob re-deployment

- If the container that has the job deployed crashed (without graceful shutdown), then
the BatchJobLocator still holds the entries for the batch job with the given name.
Upon the container departure, the admin leader tries to re-deploy the job module into
available matching container. But, the DistributedJobLocator still holds the reference to
the batch job (from the crashed container).
  - On re-deployment, make sure to delete the entries from DistributedJobLocator and
proceed with the job deployment.
  - Also, any first time job deployment wouldn't reach this block as the admin server
would have already checked for any existing batch job and stops any request to create one.
- If the container gracefully shuts down
  - The `destroy` life-cycle operation on DistributedJobLocator will make sure to remove
the entries for the given job name

Error-handling deployment of multiple jobModules

- Ignore DistributedJobLocator update if there is an existing entry
  - This will allow multiple job modules of the same job definition to be
deployed into single or multiple containers
XD-1531

Renaming xd-config.yml to servers.yml, adding modules.yml

- modules.yml hold configuration specifics for all modules using qualified keys like moduletype:modulename:property

- adding yarn as xd.container.group

Adding zookeeper stub for servers.yml

Removing DEBUG logging
XD-1004 Add JobScheduler support

- Add basic template and service
- Add Streams page
- Update stream views/controllers/routes
- Update states/routes
- Pluralize controllers
- Add shared services
  - Rename `XDCommon` to `XDUtils` and move it to shared services
- Move templates to appropriate modules
- Move `views` into appropriate modules' views
- Add scheduler support
  - Add Job scheduler controller/service/templates/routes
  - Add form validations
  - Active/De-activate scheduleJob button
- Restrict button activation based on the valid form fields
- Remove highlightjs styles

Jira: https://jira.spring.io/browse/XD-1004
XD-1548: Refactor duplicate code in Listeners

Created class ModuleDeploymentWriter to write module deployment
requests to /xd/deployments/modules for both streams and jobs.
This class is now used by ContainerListener, StreamDeploymentListener
and JobDeploymentListener for module deployments.

ModuleDeploymentWriter also catches NodeExists exception as
described in XD-1500.

ContainerRegistar now updates the deployment node to indicate whether
the deployment succeeded or failed. This is a partial solution
to XD-1549; we still need a way to convey this information to
the admin. The ultimate solution for stream state may require
XD-1591.

DefaultContainerMatcher was added to the application context so that the
same instance is shared across the application; this ensures the
round robin distribution of modules.

Addressed review comments.