Introduce the up to date Python conventions
The code of supervisor at the moment is partially really stuck in Python 2.7 world. That is for example that path constants are strings and not pathlib.Path
objects. We should also really format the code using black and 120 columns as well as to use typing (mypy). There is no reason why we can't have that in this project.