Static code analysis
- Added clang-format using LLVM as base for formatting C++ code.
- Added ruff with some relaxations to avoid larger code changes for now.
- Added gitlab templates to manage MRs and Issues.
- Added pre-commit-config so that ruff runs through before each commit.