XD-1418 XD-1419 XD-1420 - Add support for machine learning

These three issues are

 - XD-1418 - Create subproject spring-xd-analytics-ml.
 - XD-1419 - Create subproject spring-xd-analytics-ml-pmml.
 - XD-1420 - Create a JPMML module that will evaluate a model.

The project spring-xd-analytics-ml adds basic support for advanced analytics by providing the necessary infrastructure to be able to define analytic stream processors by introducing a new module

The project spring-xd-analytics-ml-pmml adds support for evaluation of PMML models from an analytic stream processor

The module XML defintion is located in modules/processor/analytic-pmml/

Additional Javadoc and reference documentation will come in a seperate commit
XD-1451 - Support CI build in Travis
XD-944 Cleanup JSON mapping class

- Remove TypedJsonMapper and its tests
- This also removes TypedJsonMapper$SmartJsonConversionException class
Add rabbit & redis to travis build
XD-1170 Updated the splunk adapter to M2

The M1 version did not work because a class was moved to a different package.
Gary released the M2 yesterday.
Moved libs-snapshot to the top of the repo list.
XD-1439: Prevent module context leak

Please refer to  https://jira.spring.io/browse/XD-1443
Prevent Travis from emitting ANSI ctrl chars
XD-1413, XD-1385 Create spring-xd-test fixtures, JDBC Acceptance Tests

 - Also moved fixture code from test to main in the spring-shell project.
 - Removed unnecessary checks from JDBC Init
 - Removed JDBCTestSupport.
 - JDBCSink now offers a isReady method that can be called to verify if the connection is valid.  True if it is valid.  False if invalid.
 - JDBC tests will throw an exception if can't connect to database.  Where before it would ignore the test.
 - Moved all fixtures to spring-xd-test-fixtures project.
    - Updated dependencies accordingly.
    - Ran Sonar to verify no package tangles.  (MLP - need to rerun after my changes)
 - Created SimpleHttpSource for acceptance tests that sends http posts without using any of the XD Shell utils.
XD-1434 Add Modules Tab Functionality

* Add services to retrieve Module details and the Module definition XML file
* Add `highlight.js` support for prettifying the rendering of XML
* Polishing, e.g. sort-order of tables should be by default `name ASC`
* Refactoring of router - add one more abstract route to better support `tab` vs `tab-less` Jobs pages

Jira: https://jira.spring.io/browse/XD-1434

XD-1434 Code-review changes + polishing

XD-1434 JobLaunchController - Wrap with $scope.$apply
XD-1428 Add more Container logging info

- Display Hadoop Distro, Zookeeper client connect string info
- Fix  javadoc link in MessageBusAwareChannelResolver

Improve logging options

- Specify the hadoopDistro config for the hadoop version being used

Fix review comments

- Specify default hadoopDistro option in ContainerOptions
- Update comments on xd scripts

XD-1428 Update env for singlenode

- Instead of setting zkConnectString, update the environment with
zkClientConnect string (use Embedded zookeeper server's port once available)

XD-1428 Fix code review comments

- Change logging text based on the suggestions
- In case of version mismatch, log error instead of info
- Fix typo in var name

XD-1428 Refactor ZookeeperConnectionConfiguration

- Make both the ZooKeeperConnectionConfiguration classes environment aware so that zk-properties is
always available in the environment.

XD-1428 Make cmdLineArgs propertysource available

- Make cmdLineArgs propertysource available even if there are no arguments being passed.
In this case, the cmdLineArgs will have the default options set.
- Update SingleNodeOptions with default hadoopDistro option
Workaround for intermittent HSQLDB start failure

When running the build there is an occasional HSQLDB startup failure.
The root cause for this failure is:

  java.net.SocketException: Invalid argument

This exception is thrown on JDK 7 OS X when there are > 1024
open file descriptors. See this Stack Overflow thread:

http://stackoverflow.com/questions/16191236/tomcat-startup-fails-due-to-java-net-socketexception-invalid-argument-on-mac-o

This is fixed in Java 7u60:

https://bugs.openjdk.java.net/browse/JDK-8021820

In the meantime, this workaround will trap that exception and
make several attempts at starting up HSQLDB before giving up.

Previously it was assumed that a startup failure was due to
a port conflict. This is unlikely because an open port is
selected by the test prior to configuring HSQLDB. If this does
happen the log file will indicate so:

org.springframework.beans.factory.BeanCreationException:
  Error creating bean with name 'hsqldb' defined in class...
...
Caused by: java.lang.IllegalStateException: HSQLDB could not be started on 0.0.0.0:6379, state: SHUTDOWN
...
Caused by: java.net.BindException: Address already in use
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
...

Rework of the while loop

Modified the while loop to use a boolean instead of
always forcing a break. A server start failure
still causes a break. This avoids the need for
another boolean to track whether an error occurred.
Added command line option to generate heap dumps

If a test generates an OutOfMemoryError, a heap
dump will be generated that can be used to determine
the root cause.

See http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/clopts.html
XD-1445: Rethrow unexpected exceptions in completion logic

- Refine caught throwable to Exception
- Add Javadocs
XD-1464 - Upgrade to Spring Integration 4.0.0.M4
XD-1460 Enable JMX by default

- Removed jmxEnabled commandLine option
- Set XD_JMX_ENABLED by default in application.yml
- Added configs in xd-config.yml
- Disable JMX by default in RandomConfigurationSupport
  - This will allow the tests to run without JMX enabled.
- Fixed xd.container JMX MbeanExporter bean configuration
  - Moved the bean configuration from ContainerServerApplication to ContainerConfiguration
XD-1465 - Update management context path

- Boot endpoints are server management.contextPath
  - Update this path to use '/management'
XD-1453 Update Spring-AMQP

Spring-AMQP : 1.3.1.RELEASE
Spring-Integration : 4.0.0.M4
XD-1324 Changing default Hadoop version to Hadoop 2.2.0 (hadoop22)
XD-1467: Defer access to repo in completion logic

Address review comments