feature(#315): Support python 3.10+ Revamp CI workflow, condense files and jobs down, using matrices where possible. Main idea: test with {earliest python+OS version, latest python+OS version}, and assume that if those work then everything in between will work too. - Fix subtle nasty bug with pipeline where a nested usage of the actions/checkout@v3 action caused inner the publish job always to run against the master branch. - Fix issue in upload-artifact excluding dotfiles by default (who introduces breaking changes without major version increment???). - Add caching for {homebrew, apt} packages and build files to try to get the pipeline execution time down.