Add pre-commit hooks
This adds a pre-commit configuration file declaring
code formatters and linters for C/C++, Fortran, Python and CMake source
files. The newly added CONTRIBUTING.md file provides details on how to use the
tool. The Check style CI job description is updated to use pre-commit
instead of the existing custom scripting.
Edited by Sergey Kosukhin