FM-1523: Added module summary to metadata.json
Add Java alternatives for RHEL based distros.
Sync files with modulesync
(MODULES-1570) TDD Style - Add specs first

Facter unit tests to check resolution of Java version
(MODULES-1570) `java_version` fact

Adapted from the many found on Github, simply runs `java -version` and strips the results. From what I can find there aren't many edge cases for the result `java -version 2>&1` could return, so this should be fairly compatible.
(MODULES-1570) `java_patch_level` fact

Uses the `java_version` fact and gets the patch level by splitting after `_`

This would be useful if you want to make sure you're not accidentally downgrading the version of Java to a lower patch level (I've noticed some package managers don't notice this too well)
(MODULES-1570) Improve variable names

Lets keep it vaguely consistent
(MODULES-1570) Add java_major_version fact

Gives the major version of the Java release (ie. Java 1.7.0_71, major version is 7)
(MODULES-1570) Return nil when java not present