[clang-tidy] Add check for possibly incomplete switch statements

While clang warns about a possibly incomplete switch statement when
switching over an enum variable and failing to cover all enum values
(either explicitly or with a default case), no such warning is emitted
if a plain integer variable is used as switch variable.

Add a clang-tidy check to diagnose these scenarios.

No fixit hint is provided since there are multiple possible solutions.