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
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.
Merge topic 'QNX-ninja-generator'

02cf77f QNX: Don't attempt to create depfiles
Merge topic 'clang-binutils'

b84f5c2 Find appropriate binutils when cross-compiling with clang
Merge topic 'less-versioned-installs'

1093dee Shorten CMake version used in install destinations
Merge topic 'ctest-p4'

970c823 ctest_update: Add support for Perforce p4 client
Merge topic 'ctest-fix-run-serial'

ff59365 CTest: fix dashboard issues associated with the ctest-fix-run-serial topic
7a665ae CTest: added test for RUN_SERIAL issue #14484
384beff CTest: added comments that describe the basic test sorting approach
adbe00d CTest: removed redundant copy of test dependency set
1b750cb CTest: perform cycle test early
6d4d7ca CTest: consider previously failed tests before all others
e809d8c CTest: prioritize tests by their depth in the dependency graph
44017a4 CTest: handle dependent and non dependent test requirements equally
Merge branch 'master' into next