Introduce flake8
- [x] pre-commit hook
- [x] CI job
- [x] Configuration:
- [x] [Can the configuration be stored into `pyproject.toml`](https://github.com/PyCQA/flake8/issues/234)? Not yet it seems.
- [x] Open follow-up ticket to handle complexity: #427
- [x] Apply changes
- [x] line length. Find compromise with `black`’s line length: 100 lines, 80 lines for black
issue