TRUNK-5208 ModuleUtil compareVersions should sort a SNAPSHOT version as "less than" (#4929)
* TRUNK-5208 compareVersion orders SNAPSHOT version before regular one
That means a version string like "1.2.3-SNAPSHOT" is ordered before
version string "1.2.3".
Also update javadoc and give more descriptive names to variables.
* TRUNK-5208 add test case that shows matchRequiredVersions behaviour
* TRUNK-5208 refactor: remove redundant "snapshot" from names