Strip trailing whitespaces, "enforce" ruff and black
Black is quite common in Python sources and ensures that all the code has a unified look to it. Ruff is a useful and faster linter - let's enable both with pre-commit which is also very useful.
This will conflict with !575 (merged) because of the whitespace removals in the files removed in that MR.