Enable black and flake8 for Python code-style linting
We have a non-trivial amount of Python within the Guidebook repository now, so would benefit from a basic level of automated linting.
Enable black and flake8 making use of pre-commit for enforcement.