To offer a better repository linting experience,
a lot of tests can be done locally quickly.
Provide pre-commit Git hook using the pre-commit framework
with linters for Python (black), shell scripts (shellcheck),
JSON, XML, YAML, Salt states (salt-lint) and regular files.
Fixes T1715.