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
I try to overcome brittleness by as many tests as possible. The overall problem is IMO that we store the definitions as Strings only. It looks like there might be eventually the use-case to save streams in some in a different met-format so that I don't have to apply this type of *fuzzy-logic*.