Use parallel:matrix in CI configuration to simplify testing multiple python versions
This MR modifies the CI configuration to use parallel:matrix
to simplify testing multiple versions of Python.
I also took the liberty of re-enabling coverage measurement when running the tests, and adding Python 3.11 and 3.12 test jobs.