Improve code coverage reporting
This MR fixes the code coverage reporting by extending the workflow with an extra job that runs python -m coverage combine
, which intelligently combines multiple coverage reports, instead of using gitlab's naive average of individual reports.