XD-226 - Cleanup build.gradle

* Align build.gradle more with Spring Integration / Core Spring Framework build file
* Copy distribution (distXD) to build/dist
* Enable all compiler warning
* Provide external JavaDoc API links
* Convert spaces to tabs
Move StreamPlugin to a dedicated package

XD-142 Fix early instantiation of beans in module context

- Remove StreamPlugin usage of Module.getComponents
causing bean instantiation before module start

- Add hook for Plugins to add shared bean definitions
to the common context

- Add post processors for modules to register their
own channels with the ChannelRegistry

- Add context destroy to Module stop, as context
cannot be re-refreshed on start anyway

XD-142 Add stream deploy integration test

on merge: changed source index to 0 in test

on merge: removed trailing whitespace
XD-242 Rename /modules/generic -> /modules/common

XD-242 Add JMS Source

Add JMS source, with configurable provider; default
configuration uses ActiveMQ.

Add an ActiveMQ test program that serves 2 purposes:
 - Run a broker on the configured URL
 - Send test messages to the source queue

XD-242 Polishing (PR Review)

 - Use destinationName instead of destination
 - use xd.stream.name as the default destination name
    (override with `--queue=foo`)
 - Fix copyright date