XD-1742 Support Binary in TCP and HTTP Sources

JIRA: https://jira.spring.io/browse/XD-1742

Previously, the TCP and HTTP sources unconditionally
converted byte[] to String.

Remove the transformer from the tcp source; now, if people
want String conversion, they would use

    tcp --outputType=text/plain

Tested with

    stream create --name foo --definition "tcp --decoder=RAW | file --binary=true " --deploy
    stream create --name foo --definition "tcp --decoder=RAW --outputType=text/plain;charset=UTF-8 | file --binary=true " --deploy

Update the inbound http channel adapter to detect a
content-type of `application/octet-stream` and emit
a byte[] instead of performing String conversion.

This allows POSTing binary data...

    curl --data-binary @foo.zip -H'content-type: application/octet-stream' http://localhost:9000

Add test case to verify. Also tested with

    stream create --name bar --definition "http | file --binary=true " --deploy
Fixed compile warnings
XD-1672 filepollhdfs Acceptance Test

* Hdfs based tests will use assertValidHdfs
* Remove overloaded SimpleFileSink.toDSL method
* Replaced FileSourceTest's triggers with http
XD-1747: Module deployment order is not guaranteed

Modified writeDeployment to deploy each module serially (but still
write out deployment requests for a module to multiple containers
at once). This is required to guarantee that modules for a stream
are deployed in the correct order.
XD-1520 Update ModuleOptions stream name defaults

- Fix Module options that use stream name as the default value
  - Add ${xd.stream.name} as the default value in appropriate
module options POJO and module options properties
  - This will allow `module info` command to display the default values
with ${xd.stream.name} wherever stream name is used

Following modules are fixed:
File Sink
Gemfire sinks
Aggregator
File source
Metrics
HDFS dataset
Hdfs + move into own dir
Post
Tail
JMS
SimpleFileSink uses StringUtils.hasText to check for null and empty strings for the fileName and directory when creating DSL string.
JobPluginTests - Remove explicit datasource url

- Since this test uses hsqlDataSource which randomly gets configured
by `RandomConfigurationSupport` explicit datasource url is not needed.
XD-1757 Resolve runtime module option values

- Fix ZooKeeperModuleMetdataRepository's findOne(String metadataPath)
   - Check if the module option value has property placeholder syntax and retrieve
the placeholder value from module metadata from ZK metadata data
For example, if the `log` module's name option has the value ${xd.stream.name} then
look for `xd.stream.name` in module metadata to resolve the module option `name`