JBIDE-18457 - prefer closest java if strictly-compatible is not available

The problem is that this method is only called during a comparator when ordering the elements, so it is very likely to fill the error log as it tries to compare an invalid version against all other versions.  I could log it, I guess, but it has the potential to fill the error log. 

Also, in this class, the version strings are pulled from IVMInstall2.getJavaVersion(), which should never have an invalid string. I did check, though, and now see it can return null, so I should add protections for that explicitly since it's a possibility.