redis rule now static
XD-1221 Remove build task from modules project

This avoids 'build' directory created under 'modules'

Currently, the 'modules' project is considered as JavaProject
and the build task creates a 'build' directory which gets copied into
the dist as well. Rather than removing the 'build' directory from
modules subproject during 'dist', it is better to disable build task
for 'modules' project as it simply acts as a wrapper around the individual
modules.

The only reason modules project is considered as JavaProject is to
enable the eclipse/idea plugins to generate metadata.
XD-1222 Remove duplicate MBeanServer def

https://jira.springsource.org/browse/XD-1222
Since the 'jmxEnabled' flag is shared by admin/launcher and
the module's MBeanExportingPlugin, the definition of MBeanServer
by the module's plugin becomes duplicate as the MBeanServer
is already defined as XD global beans (xd-global-beans.xml)
validation-api compile rather than testCompile dep
Removed compile warnings

Compile warnings related to casting, generics, and deprecated
classes/methods were removed. There are still 3 categories
of warnings remaining:

1. Cannot find annotation method 'value()' in type 'Repeatable'

This results from the usage of @Repeatable in the core
Spring framework. This annotation is present starting in
JDK 8; therefore compiling with JDK 7 or older will
show this warning.

See the following:
http://docs.oracle.com/javase/tutorial/java/annotations/repeating.html

2. bootstrap class path not set in conjunction with -source 1.6

This results from setting a target of 1.6 when compiling with
the 1.7 javac. To guarantee backwards compatibility with 1.6,
the rt.jar for JDK 1.6 should be included in the boot classpath
for javac.

The current line of thinking is that we will enable this on the
CI server to catch any usage of 1.7 methods in the project since
it must execute on 1.6. We cannot simply compile with 1.6 on
the CI server because the tests require 1.7.

See the following:
http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html

3.  Class JavaLaunchHelper is implemented in both...

This message appears on OS X with JDK 1.7.0_45:

objc[53170]: Class JavaLaunchHelper is implemented in both
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java
and /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/
lib/libinstrument.dylib. One of the two will be used. Which one is
undefined.

This is a bug in the JDK that has been resolved and will be released
in u60.

See the following:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8021205

changed some spaces to tabs on merge
XD-1194 Handle boolean cmdLineOption default

Fixed 'jmxEnabled' CommonOption to use Boolean type instead of boolean
so that getter method could return null when the flag is not set and,
the setter would always set the appropriate precedence value when
resolving PropertySources.
Also note we have the application.yml setting XD_JMX_ENABLED to false hence
setter is always set with non-null value.

XD-1194 Remove null check on Boolean type

The getter method on XD_JMX_ENABLED in CommonOptions can never return false
as it can be either true or null.
Hence, made it to return value as is.
XD-1050: Allow plugins to provide Options Metadata