XD-1763 Update to Spring Batch 3.0 RELEASE
XD-1755 changed gemfire source to use client cache
XD-1750 Exception handling at module info cmd

Since the option value gets converted at Shell Converter `QualifiedModuleNameConverter`, throw ShellException in case of invalid syntax or module type.

- Validate the info option syntax
  - Check for ":" and expect at least module type is specified
- Validate the module type
  - throw IllegalArgumentException for invalid module type

Fix `NullPointerException` at ModuleController if module definition doesn't exist for the given module name

- Throw `NoSuchModuleException` if the module definition doesn't exist
- Add test

Address review comments
XD-1750 polishing on merge
XD-1655,XD-1654,XD-1217 rewrite twittersearch module

Add Twitter(Search/Stream)OptionsMetadata
Fixed ModuleOption message
XD-1507 Submit job action only for deployed jobs

* Add an ability to filter the undeployed jobs from the list of batch jobs from the `batch` job repository
  - Use ZK job instance repository to get the list of deployed jobs and set the `deployed` status on the returned list of batch jobs. This will allow:
    - The batch job definitions that were undeployed will get the deployed status to `false`
    - The batch job definitions that were destroyed but still have executions and state in batch job repository will get the deployed status to `false`
    - The batch job definitions that are currently deployed will get the deployed status to `true`
  - Update Batch JobInfo and the corresponding REST domain resource JobInfoResource with `deployed` status
* Fix the web UI to disable the `launch` and `schedule` buttons for the batch jobs whose deployed status set to `false`
* Handle JobExecution restart action
  - Show appropriate error message if the job corresponding to the job execution restart action is not deployed.
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-1771 TwitterSearchTest now tests in append mode

Since the updates to TwitterSearch it returns multiple messages during the duration of the test.
Before we expected only one result/message now we get an indeterminate amount.  Thus the
assertReceived was removed and the file sink that captures the results is now in append mode.
XD-1628 UI: 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

Fix comment and module dependency
Moved deployment status to its own node

A new "status" node was created under the module deployment
path. The deployment status is now written here. This is
a pre-requisite for placing module deployment properties
under the module deployment node.

See https://jira.spring.io/browse/XD-1338
XD-1338 Hints for partitioning a stream (cont)

This is a continuation of XD-1338. It includes the following:

When writing a module deployment request, the module deployment
properties are written as the node data. These properties
are read by the container executing the deployment.

When a container leaves the cluster, those properties are reused
by the container that the module is redeployed to. This allows
the module deployment to carry forward partition information
(especially partition index) that is unique to that deployment.

Introduced ContainerAwareModuleDeploymentPropertiesProvider to provide
deployment properties for modules targeted to a specific container.
It is an extension of ModuleDeploymentPropertiesProvider that
can be used in areas where deployment properties for a specific
container are required.

Also renamed ExcludingContainerMatcher to RedeploymentContainerMatcher
and modified the implementation to only ever return one Container.

A typo in MessageBusSupport was corrected.