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