added spec
got rid of some complexities in VersionMatcher and LatestVersionStrategy that we don't currently have any use for

- move comparison of static versions from LatestVersionStrategy into ExactVersionMatcher
- change VersionMatcher.compare(String,String,Comparator) to compare(String,String) and instead inject comparator into matchers where needed
- use static version comparator for bounds of VersionRangeMatcher (could leave things as-is, but this seems saner than what Ivy impl was doing)