Define a __hash__ on the packaging.version.Version subclasses

In Python 3.x a subclass will not inherent the __hash__ method from
the parent classes if the subclass defines a __eq__ method. This
means that without defining our own __hash__ the SetuptoolsVersion
classes are unhashable.
Update changelog
Added tag 8.0.3 for changeset 6c3467488123
Bumped to 8.0.4 in preparation for next release.
Merge with 8.0.3