chore: add pre commit tool
This tool helps to keep the code clean and will enforce linters to pass on the developers device. The CI helps enforce this for those who don't necessarily want to use pre-commit locally.
Some future MR will add more pre-commit hooks, but since the changes will be large, I prefer to do this incrementally.
cc @georgkrause (I am not yet a reporter to the funkwhale/funkwhale reporitory, I cannot assign you)