Apply clang tidy, use -Werror on CI
This MR applies the clang-tidy fixes obtained from running clang-tidy for the headerchecks, tests, and python tests. It also adds a shell script which runs clang-tidy for these targets.
In addition, this MR fixes some warnings and enables -Werror
for the CI runs. Since we are currently warning-free, I think it is a good idea to ensure that we do not introduce new warnings.
Edited by Tobias Leibner