Initial revision of include-what-you-use-target-cmake.

Include IncludeWhatYouUse.cmake and call
_validate_include_what_you_use to bootstrap.

Use iwyu_target_sources on a TARGET to run include-what-you-use on
it. You must specify the target's:
 - INTERNAL_INCLUDE_DIRS (-I)
 - EXTERNAL_INCLUDE_DIRS (-isystem)
 - DEFINES (-D)

If the target contains source files which are headers, you may
need to pass CPP_IDENTIFIERS or FORCE_LANGUAGE in accordance
with cmake-determine-header-language.

Pass CHECK_GENERATED to also check generated files.