XD-444 Make External Server Rules Optional

When Redis and/or Rabbit is not available (e.g. on developer
machine), the tests should not fail.

However, if the servers are not available on the CI server, the
tests should fail.

Add an environment variable XD_EXTERNAL_SERVERS_REQUIRED. Gradle
passes environment variables to worker tasks.

When true, the tests will fail; when false, the tests will be
skipped.

Set the environment variable on the CI build plan to true.

Fix all Redis tests to use the RedisAvailableRule. Some tests
needed @Configuration of the connection factory because when
declared in XML it eagerly connects to Redis.
XD-431 - Make toString() payload conversion optional
XD-431 - Performance optimization to prevent calling resolvePayloadTransformerForMessage() on every message if there is no transformer
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