This enables `clang-tidy` to run as part of our CMake build.
Since `clang-tidy` needs the build options to run, it is better suited
to be run at build time. Currently the only enabled rule is adding the
missing braces automatically to the source files.
`clang-tidy` is enabled by default. The `ENABLE_CLANG_TIDY` option can
be set to `OFF` to disable it if needed.
Only the selected targets are affected by the check, so the third-party
libraries are not getting formatted.