Fix phonies in Makefile and run pre-commit for lint target.
Instead of running black, flake8 and ruff the lint phony now runs pre-commit which has these tools configured as hooks.
* Makefile
Define common composite action for setting up pre-commit and python.
* .github/actions/setup/action.yml
* .github/workflows/test.yml
Update codecov/codecov-action used in test ci to v3.
* .github/workflows/test.yml