Fix usage of semanticversion to intended API. The recent versions of python-semanticversion made changes to private APIs, removing the interaction between `Version(x, partial=True)` and `Spec()` (`partial=True` was designed for implementing the `Spec` class only)
The code used these classes to exclude ranges of version whose major component didn't match a bugfix/issue range; the code went akin to:
Version('1', partial=True) in Spec('>=1.0')
This no longer works; this patch changes that behaviour to exclude families where no actual release matches the bugfix/issue range - this should be more accurate.
The patch also uses `Version.coerce`, the intended API to manage non semver-compliant version strings.
The patch has been tested with both python-semanticversion==2.6.0 and python-semanticversion==2.8.1; it can be included to an upgraded version of `releases` even if users haven't yet upgraded python-semanticversion.