.clang-format from OPAL and reformats the entire codebase with
clang-format. In addition, this adds a folder for git hooks and a script that sets them up. The provided pre-commit hook runs
clang-format on all changed files and stages the changes such that all modified files are reformatted before the commit is created.
Some of these formatting "improvements" likely need further tweaking in the configuration; I'll be looking into this. I'll open the MR so everyone can see what the codebase would look like using OPAL's formatting rules (as specified in the file) and so that we can more easily discuss which of these reformatting changes we like and which ones need to be changed in the configuration.