XD-1770 Fix NPE at ContainerRegistrar

- When deploying stream module, add a null check
 after loading stream from `deploymentLoader`
XD-1416 Activate tap only when 1 or more consumers

When a module that begins with a tap channel (e.g. tap:stream:foo > log) is deployed,
a corresponding ZooKeeper node will be created under /xd/taps if not already present.

The AbstractMessageBusBinderPlugin has a TapListener that reacts to the addition of
such a node by "activating" the tap. Activation is simply the addition of the WireTap
interceptor on the output channel of the module being tapped along with the binding of
a pub/sub producer to that WireTap's channel. That logic remains the same, but has
simply been made lazy, triggered on-demand only when a tap has at least one consumer.

When the last consuming module for a given tap is undeployed, the ZooKeeper node for that
tap is deleted. The TapListener then reacts by removing the associated WireTap interceptor.
XD-1416 Changes on merge

- Fix logger format
- Handle NoNodeException when unregister tap
- When unbinding tap channel, call unbindProducers only if there is a tapped channel
XD-1766 Fixing failing tcptofile test

 - Added --outputType=text/plain option to tcp source as
   that is now required.
XD-1650 Update HDFS sink to accept a partition strategy

- Upgrade to SHDP 2.0.0.RC4
- Related work for SHDP-334
- New hdfs sink options; partitionPath, fileUuid and fileOpenAttempts
- Changes to XD YARN application.yml files due to changes in SHDP RC4 boot config model
- HdfsStoreMessageHandler is now abstract and new implementations for normal and partition writer.
- Namespace parsers now building writer and adapter via factories
-  volatile StoreWriterFactoryBean variables
- Use StandardEvaluationContext instead of EvaluationContext
- Change constructors to use StandardEvaluationContext directly.
- Casting from EvaluationContext to StandardEvaluationContext now happens earlier in a factory which gets it from IntegrationEvaluationContextAware.
- We now fail in MessageExpressionMethods if evaluation context is null instead of creating it manually.
- Remove ctors without an EvaluationContext in MessageExpressionMethods and MessagePartitionStrategy
XD-1628 UI: The user can view specified/used job properties

* Add ability to view the job definition when viewing the job execution details
* Add ability to view the job module meta data (if job definition deployed) when viewing the job execution details
* Add `displayForJobname()` to `ModulesMetadataController`
* Add tests for `ModulesMetadataController`

Jira: https://jira.spring.io/browse/XD-1628
XD-1628 Code Review Changes
* Move Module Metadata and Job Definition details from the Job Execution Details page to a dedicated Job Deployment Details page
* Fix e2e tests