XD-1819 Runtime executables share jars in xd\lib

- remove filter in add to cp function
XD-1872 Close Taps pathcache upon ZK disconnect

- In AbstractMessageBusBinderPlugin, close the `taps` PathChildrenCache
upon ZK disconnect. This will avoid existence of multiple `TapsPathChildrenCache`
over period of time (during multiple ZK connect/disconnect)
XD-1831 Mask Database Passwords

* Add module option type `Password`
* In `JdbcConnectionMixin` - Change password property from `String` to type `org.springframework.xd.module.options.types.Password`
* In `DetailedModuleDefinitionResourceAssembler` mask default password module option
* In `JobsController#list()` return PagedResources<JobDefinitionResource> that contain masked passwords in the job definitions
* Create AngularJS directive `xdFormatStream`
* Create unit tests for AngularJS directive `xdFormatStream`
* In `module-create-definition.js` make sure the option type is correctly set
* In `definitions.html` make sure the `xd-format-stream` directive is called
* In `module-create-definition.html` set the form input field to type password, if the module option type is `Password'
* In `module-create-definition.html` set the form input field to be a checkbox, if the module option type is `boolean`
* Add E2E tests `create-new-definition.spec.js`
* In `module-create-definition.html` apply the xd-format-stream directive when outputting the `calculatedDefinition`
* Add `lodash` JS library
* Add Java utility class `org.springframework.xd.dirt.stream.util.StreamUtils`
* Add `StreamUtils#maskPasswordsInStreamDefinition`
* Add unit tests for `StreamUtils#maskPasswordsInStreamDefinition`

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

XD-1831 Code review fixes + polishing

* Admin UI - support Unicode RegEx
* Add XRegExp library (For Unicode support)
* Add support to match both `password` and `passwd` parameters
* Fix `JobsController#list()`
* Fix JavaDoc in `StreamUtilsTests
* Add one more test to `StreamUtilsTests
* Add `toString()` to `org.springframework.xd.module.options.type.Password`
* Add tests for `org.springframework.xd.module.options.type.Password`
* Add more tests to `directives.js`

XD-1831 Fix failing test + rebase with MASTER

XD-1831 Code Review changes - Add JavaDoc

XD-1831 Code Review Changes

XD-1831 Remove `lodash`
ensure InterruptedException handling
Moved 2 tangled classes from core to server pkg.
Clarify logging for HSQL shutdown
XD-1846 Simplify DeploymentVerifier

- With the Stream/Job Deployment State changes, the `DeploymentVerifier`
has been simplified to use the DeploymentUnitStatus.State to verify if
the Stream/Job is successfully deployed/undeployed.
    - Add `getDeploymentStatus` in DeploymentPathProvider and remove other
deployment path specific method contracts.
    - Have `Stream/JobPathProvider`s implement this method and use Stream/JobRepository's
`getDeploymentStatus` (via DeploymentStatusRepository) to return DeploymentUnitStatus
    - Since the StateCalcualtor already determines the number of modules that need to be
deployed for a given deployment unit, the verification of `DeploymentUnitStatus.State`
can be sufficient to assert if the deployment unit is successfully deployed/undeployed
with the expected number of modules count etc.,
    - Update `DeploymentVerifier`'s deployment verifier methods waitForDeploy/waitForUndeploy
Commenting out tests in `jobcontrollerSpec.js`
Use value with resolved placeholders in all cases
Update Boot plugin to latest snapshot

This enables us to add a classifier to the bootRepackage task and
have spring-xd-dirt spit out its own executable jar. Also validates
that 1.1.2 is going to work in other ways.

Remove spring-xd-exec project (dirt has exec jar now)
XD-1870 Rabbit modules now use addresses

* Remove host and port from RabbitConnectionMixin, RabbitSource & RabbitSink
* Added addresses to RabbitSource & Sink
* Updated Rabbit Acceptance Test.
XD-1788: Validate deployment props
Prevent deletion of content.

Previously, if two opening fences were encountered, no failure was
reported.
XD-1848 more fine grained states via REST API

The status of a stream, as returned by the REST API (and thus the shell also),
may now contain any of the following states:

* deploying (deployment has been initiated)
* deployed (fully deployed based on each of the stream's modules' count properties)
* incomplete (at least 1 of each module, but 1 or more of them not at requested capacity)
* failed (1 or more of the modules does not have even a single instance deployed)
* undeployed (intentionally undeployed, or created but not yet deployed)
XD-1760 Enabling Short Circuiting

Now checking deployment property values and setting the "shortCircuitAllowed"
producer property if the following conditions are satisfied:
1. producer module is not partitioning
2. producer module's count is 0
3. next module's count is 0
4. both producer module and next module have the same criteria (both can be null)

Added "shortCircuiting" tests to AbstractDistributedTransportSingleNodeStreamDeploymentIntegrationTests

RabbitSingleNodeStreamDeploymentIntegrationTests and RedisSingleNodeStreamDeploymentIntegrationTests
now both extends from AbstractDistributedTransportSingleNodeStreamDeploymentIntegrationTests

Addressed PR comments, and rebased
XD-1839: Named channels only allowed in full streams
short-circuit -> direct binding
only set the direct binding property if not explicitly provided