XD-435: Integration tests for AdminMain.

Loads the startup configurations, making it harder to break the launch
task or startup scripts.
Added Enumeration to support common naming for modules vs. strings.
Added AbstractPlugin class to add tooling for common tasks of a plugin.
Moved BeanDefinitionAddingPostProcessor from Dirt to module so that it can be accessed
Created Plugin package under module project and moved all plugin based classes and interfaces to the package.
Updated the IntegrationPlugin to use the AbstractPlugin.
Cleaned up the BeanDefinition docs.
Updated to simplify Plugin development
for modules.
Added Enumeration to support common naming for modules vs. strings.
Added AbstractPlugin class to add tooling for common tasks of a plugin.
Moved BeanDefinitionAddingPostProcessor from Dirt to module so that it can be accessed
Created Plugin package under module project and moved all plugin based classes and interfaces to the package.
Updated to simplify Plugin development
for modules.
Updated code per code-review requests.
Moved Plugins from plugin package to module.
XD-291 resolve the shutdown of http adapter
Fix redis transport's deployer config
-Added triggerDeployer bean definition at redis-admin transport config
-Fixed tapDeployer constructor to use streamDefinitionRepository
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
XD-384 - Polished Controllers and Deployers