Add new clang-tidy and clang-check checkers

These checkers use an existing compilation database so that the actual
flags used in the compile are used in the check.
Merge remote-tracking branch 'bbanier/t/clang_tools' into clang_tools
Clang tools: work without a compilation database.  Cleanup.
Clang tools: missing space.
Clang tools: check exit codes.