[CI] Automatic checking of style rules
This patch introduces a new CI pipeline that runs clang-format over all .cc and .hh files. The pipeline succeeds if the clang-format run does not modify the source at all.
While we may eventually use this for all sorts of formatting enforcement, this initial patch contains only two rules:
- Never use tabs
- Do not allow trailing whitespace
Note that for some strange reason, clang-format does not have an option for the second rule, but rather enforces it unconditionally.