Implements PEP 440 using the Packaging Library

* Supports legacy specifiers as well as PEP 440 specifiers
  * Attempts to "upgrade" to PEP 440 specifiers wherever possible.
* Does not support using a regular installed ``packaging`` library because if setuptools is broken by a new or old packaging then it becomes hard to *fix* setuptools without manual intervention.
* Bumps release version to 8.0