JAR file detection

Previously, the detection algorithms for Ratpack and Spring Boot
contained a bug.  This bug manifested itself as detection a JAR that
_almost_ matched the name required for discrimination, but when
extracting the version, everything would crash.  This bug was hidden
during testing because the ordering that files were listed affected
whether the bug manifested.  This change updates the detection
algorithms so that the ordering of the files no longer matters.
Merge branch 'detection'
Merge remote-tracking branch 'upstream/master'