Explicitly specify compilation database in all cases.

We can't always rely on the command invocation to find the default
compilation database because it depends on the location of the first
source file. Explicitly specify it to avoid any ambiguity.
Specify C or CXX modes in the compilation database.

For headers we need to explicitly specify a C or C++ compiler
and a language mode for the C++ compiler (clang defaults to using
C89 for headers where -x c++ is not passed)
Fix behaviour of WARN_ONLY and ENABLE_CHECKS/DISABLE_CHECKS options.

Renamed ALLOW_WARNINGS to WARN_ONLY (for consistency with
cppcheck-target-cmake).

Fixed behaviour of ENABLE_CHECKS and DISABLE_CHECKS. By using semicolon
separated lists these would be converted by the shell to spaces. Use
comma separated lists instead.
Merge pull request #4 from smspillaz/clang-tidy-target-cmake.item_4

Various usage fixes.