It appears recently that typing information for jwt and requests has
been split out into seperate projects on pypi, namely types-jwt and
types-requests. Since we utilise calling functions in their namespace,
we need to install them otherwise mypy will fail.
Since we migrated from Travis to GitHub Actions, our coverage on codecov
has been reporting as 0%, since uploading the .coverage file is a
terrible idea. Turn on XML-based reporting, ignore the file and use that
when we upload to codecov.
Due to the recent deprecation of setup.py test, we should move with the
times, and switch to a non-deprecated test runner.
Add configuration for pytest, and switch tox to using it. Remove
AllTests, since it is no longer required to locate test classes, and
rewrite tests/__main__.py as a pytest conftest plugin.
Also drop the test function from manage.sh, tox does a much better job.