CI: Add some style checks for code & commits
This adds CI-enforced checks to the test suite that:
- Ensures that the code is Black™, and make it so.
- Ensures commit messages conform to the usual style.
- A few pylint checks.
- Run pyflakes on everything.
Of these, the first is likely the most annoying, as it actually requires reformatting a lot of code.