XD-473 Improving command line argument access

Making the command line argument access compatible
with all environments supported by the batch script
XD-579 Adding support for multiple Hadoop distros in XD shell

Adding a startup option  --hadoopDistro for XD shell scripts.
The default is hadoop10 (Apache Hadoop 1.0.4). Based on the
default or passed in distro we will add the correct jars to the
classpath
XDd-576 Change prompt of shell to xd:>
XD-587 Controllers now inherit from a base class for boiler plate code.

Get rid of boilerplate code.

Adding list to command

Now supporting Save command in XD Controller

Triggers now use XD-Controller

TapController is now using XD Controller.

Save now does a parse before "saving".

Added copyright and cleaned up the code.
Merge branch 'XD-473B' of https://github.com/trisberg/spring-xd into trisberg-XD-473B
Fix marshalling of metrics resources; Still pending json as default
Use json as default Accept'd media type + hack for xml JAXBContext initialization
XD-540 undeploy requests are now broadcast

modified rabbit, redis, and local configurations

added integration tests
Fix stream command tests
- Fixed stream list assertion to check if they exist in the stream list rather than checking at index '0'
  (This will avoid the tests' dependency in running on clean redis store)
- Refactored stream tests assertions
Fix tests on jdk6
XD-591 Improve build file distribution tasks

Making distZip copy all binary installs into the primary distribution
zip file. This was previously done in zipXD

Making distZip part of Application tasks - overriding description
from application plug-in

Adding distTar as part of Application tasks - overriding description
from application plug-in

Renaming distXD to copyInstall for consistency and making it part of
Application tasks

Changing description of dist, keeping it as the the driving task for
generating all distribution artifacts to be consistent with the build
for Spring Integration
XD-591 Updating README for distribution zip
XD-576-2 Refactor Target Handling in Shell

* Put URL of admin server into the banner
* Add error messages to banner IF targeting was unsuccessful
* Add a new class `Target` which encapsulates Target URI, error/success state+messages

XD-576-2 Code Review - remove super() from Target
XD-596 Add CONTRIBUTING.md file

Jira: https://jira.springsource.org/browse/XD-596
XD-596 Code review fix
Quick commit for feedback
Working code for local named channels, lacking parametrization & clean() method
Used a boolean instead of the Creator Strategy object, as this only applies to Local; Introduced an aliasHint though (named TBC)
Fixing compile error in test
Fix javadoc to reflect actual behavior of new LocalChannelRegistry