XD-444 Add RedisAvailableRule to New Test

Missed in previous commit.
XD-401 Post data to http endpoint
Added command line option "post http" with "--target" and "--data" options
Added support to output request/response/error as handled in rest-shell
Added better error handling
XD-384 - Polished Controllers and Deployers
Split Client interface between Streams and Taps
Implemented Exception propagation to the client
XD-443 Add MQTT Source

Parameters:

clientId (default 'xd.mqtt.client.id' from mqtt.properties)
topics (default 'xd.mqtt.test' from mqtt.properties)

See mqtt.properties for other properties such as broker
url.

To test:

Install RabbitMQ mqtt plugin

'mqtt | log'

Go to rabbit console, find queue 'mqtt-subscription-xd.mqtt.client.idqos1'
and publish a message to it.
XD-447 Add MQTT Sink

Parameters:

clientId (default 'xd.mqtt.client.id.snk' from mqtt.properties (+.snk))
topic (default 'xd.mqtt.test' from mqtt.properties)

See mqtt.properties for other properties such as broker
url.

To test:

Install RabbitMQ mqtt plugin

Create two streams:

'time --interval=5 | mqtt'
'mqtt | log'

Note: mqtt requires unique client ids; the mqtt source has been changed so
that its default clientId is now 'xd.mqtt.client.id.src' from mqtt.properties (+.src)).

XD-447 Add MQTT QOS and Retained Parameters

--qos=   --retained=
Fixing intermittent stest failures
Ditto for taps
XD-374 Add command to list taps

* Add several utility classes for rendering textual contents to the console (E.g. text tables). Migrated from Cloud Foundry Maven Plugin / Hadoop Samples project.
* Align rendering of the Spring XD Shell banner with the Spring Rest Shell
* Add several missing package-info.java files

XD-374 Code review + add tests