CMakeDetermine*Compiler: Remove temporary cache entry

When the user or toolchain file sets CMAKE_<LANG>_COMPILER to a name
without a path we use find_program with CMAKE_<LANG>_COMPILER_WITH_PATH
to search for the tool.  Remove the temporary cache entry afterward to
avoid exposing it to projects.  It is not set by other logic paths so no
one should be using it.
Require CMAKE_<LANG>_COMPILER to be found as a full path

All generators now support detection of the full path to the compiler, so
require it to be so.  This will allow CMake<LANG>Information.cmake and
other logic to assume the full path to the compiler tool is available.

The Makefile generators already rejected CMAKE_<LANG>_COMPILER values
that did not name an existing compiler.  Extend this error message to
all generators, make it occur as early as possible, and improve the
message with advice about how to set the compiler.  If the full path to
the compiler is not known, finish enabling languages with a fatal error
so configuration does not continue.

For now, allow the RC language compiler to not be a full path.  Later we
will need to detect the full path to "rc" under the VS IDE.

Add a RunCMake.CompilerNotFound test to cover failure cases.
Fix the RunCMake.CompilerChange test EmptyCompiler case to work
when configuration does not continue past enable_language.
CMake Nightly Date Stamp
Don't add invalid content to static lib INTERFACE_LINK_LIBRARIES.

Only valid target names or generator expressions may appear in
the target field of a LINK_ONLY expression.

Other content like link flags should still be added to that property
(wrapped in config-specific generator expressions), but not wrapped
in LINK_ONLY. Otherwise undue warnings would be issued for the
policy CMP0022.

The LINK_ONLY expression only has an effect for actual target
names anyway, so there is no logical deficit.
Merge topic 'fix-tll-static-private' into next

239b0c6 Don't add invalid content to static lib INTERFACE_LINK_LIBRARIES.
CPackWiX: use safe IDs for generated start menu shortcuts
Merge topic 'wix-fix-shortcut-ids' into next

fe7f8c9 CPackWiX: use safe IDs for generated start menu shortcuts
ctest_update: Add support for Perforce p4 client

Teach the ctest_update implementation to use the p4 command-line
client to perform updates and extract the list of changes.

Add a CTest.UpdateP4 test like those that exist already for the other
version control tools.  Make the test available when p4 and the p4d
server are found.  During the test launch p4d in the background to
serve a repository from the test directory.  Then direct the client
toward this server for the duration of the test.
Merge topic 'ctest-p4' into next

970c823 ctest_update: Add support for Perforce p4 client
Merge topic 'remove-old-commands-by-policy'

4ea27bc Cygwin: Avoid legacy warnings in RunCMake.DisallowedCommands test
Merge topic 'cmarray-templates'

dfe0c21 cmArray: Use macro variant of cmArray{Begin,Size,End} for old GCC.
Merge topic 'fix-tll-static-private'

239b0c6 Don't add invalid content to static lib INTERFACE_LINK_LIBRARIES.
Merge topic 'remove-pre-2.4-compatibility'

7d47c69 Drop compatibility with CMake < 2.4
c7c44fc CTestTest*: Update minimum required CMake to 2.4
Merge topic 'qt4-svg-dep'

656716d qt4: Fix linking with QtSvg to not include QtXml.
Merge topic 'FindCUDA-arm-5.5'

ef02c9e added support for arm cross compilation with CUDA 5.5:
Merge topic 'compatible-interface-numbers'

ff6c401 cmTarget: Add interface for compatible numeric properties
e4e20c1 cmTarget: Add enumeration for consistency to expect from properties.
9877769 cmTarget: Assign consistent content back to the property being evaluated.
816b4a8 cmTarget: Make consistentProperty return consistent content.
030800a cmTarget: Add a template to create correct implied content.
Merge topic 'intel-no-i_dynamic'

f61bcbc Intel: Drop deprecated -i_dynamic flag from Fortran (#14507)
Merge topic 'python-interp-remove-debug-messages'

49c4699 python: remove debug statements from FindPythonInterp.cmake.
Merge topic 'wix-fix-shortcut-ids'

fe7f8c9 CPackWiX: use safe IDs for generated start menu shortcuts
Merge topic 'handle-CMP0024-in-tests'

310aef9 Make ExportLanguages a subtest of the ObjectLibrary test
30ff6cf Refactor the Plugin test.