XD-1120 Standardize Date/Time/TimeZone handling

* Add custom `ISO8601DateFormat` class for Jackson that supports milliseconds
* Configure REST support to serialize dates using ISO8601
* Add class `TimeUtils` to centralize any `DateFormats` or retrieval of `TimeZones`
* Support UTC as much as possible
* Polish the Shell and the Admin UI
* Add `moment.js` so that ISO8601 dates can be properly handled in the Admin UI
* Add AngularJS directive to centralize the rendering of *durations*
* Fix several tests

Jira: https://jira.spring.io/browse/XD-1120

XD-1120 Improve TimeZone config capabilities for the shell

XD-1120 UI: Add directive to render date/time values

* Ensure that date/times are show in `local` browser time

XD-1120 Convert Scheduled Date/Time to UTC

* Add disclaimer to Cron Expression stating that cron expressions are evaluated in the server timezone
* Polish form validation

XD-1120 Code Review Changes
XD-1120 Fix help text for CliOptions in ConfigCommands
WebUI: Improve help messages
XD-1983 NodeExistException on ModuleMetadata write

- Ignore ZK `NodeExistsException` on writing module metadata as this
is likely to happen when the container disconnects and reconnects
but the admin leader was not available to handle the container
departure event.
  - In this case, upon container disconnect the modules on that
container get undeployed and when the container reconnects
the `DeploymentListener` makes sure to deploy the same modules
except the fact that the ZK paths for the deployment and module
metadata already exists.

2nd commit message:

Fix code review comment

- Make sure to update the status even when `NodeExistsException`
is thrown while writing module metadata path.