ci: Add a bunch of linters and format with black
Copy in the linter config used by gitlab-account-approval bot and wikibugs2. Format with Black and linters.
The linter setup is configured to autofix as many things as possible. It is also implemented with pre-commit so it can be easily setup as a local git hook. Not thinking about how things need to be formatted is pretty nice even if you don't completely agree with Black's opinionated format.