Drop Django 3.1 (EoL)
Add Django 4.0
Add Python 3.8 (Minimum version for Django 4.0)
Add Python 3.10 to the general matrix, not just for Djagno 3.2
Exclude Django 2.2 from Python 3.10 testing.
Exclude Django 4.0 from Python 3.7 testing.
Django 2.2 will EoL in a little over a month, at which point we can
trim the matrix down again by dropping it and Python 3.9 if we want
to.
Django 3.2.9 added support for python 3.10, but older versions still
list the maximum supported version as 3.9.
https://docs.djangoproject.com/en/3.2/faq/install/
This adds python 3.10 / django 3.2 to the test matrix, and builds a
xapian wheel for python 3.10.
Version numbers changed to strings for consistency. Python 3.10 needs
to be quoted because it would otherwise be interpreted as 3.1.
Use `coverage combine` with some more configuration in .coveragerc
to merge our own paths with the paths we copy to when running coverage
and tests in the django-haystack checkout.
Also, print the simple coverage report in the Github Actions workflow
for good measure.
Fixes: #205