VS: Remove support for "free" version 2003 tools

Several more recent Visual Studio Express editions are now available and
they support debug builds.  Simplify our VS platform files by removing
support for these old tools.  If anyone still uses them we can restore
support with a more modern way to test for them.
VS: Simplify MSVC version reporting

Teach Windows-cl.cmake to use CMAKE_(C|CXX)_COMPILER_VERSION to set the
"MSVC##" and MSVC_VERSION variables.  It no longer needs the IDE generator
to dictate the version or to detect the version by running the
command-line tool for NMake and Ninja generators.  Drop configuration of
CMakeCPlatform.cmake and CMakeCXXPlatform.cmake from Windows-cl.cmake.in
because all the results it saved are now cheap to compute every time.
CMake Nightly Date Stamp
Make platform information files specific to the CMake version

At the top of a build tree we configure inside the CMakeFiles directory
files such as "CMakeSystem.cmake" and "CMake<lang>Compiler.cmake" to
save information detected about the system and compilers in use.  The
method of detection and the exact results store varies across CMake
versions as things improve.  This leads to problems when loading files
configured by a different version of CMake.  Previously we ignored such
existing files only if the major.minor part of the CMake version
component changed, and depended on the CMakeCache.txt to tell us the
last version of CMake that wrote the files.  This led to problems if the
user deletes the CMakeCache.txt or we add required information to the
files in a patch-level release of CMake (still a "feature point" release
by modern CMake versioning convention).

Ensure that we always have version-consistent platform information files
by storing them in a subdirectory named with the CMake version.  Every
version of CMake will do its own system and compiler identification
checks even when a build tree has already been configured by another
version of CMake.  Stored results will not clobber those from other
versions of CMake which may be run again on the same tree in the future.
Loaded results will match what the system and language modules expect.

Rename the undocumented variable CMAKE_PLATFORM_ROOT_BIN to
CMAKE_PLATFORM_INFO_DIR to clarify its purpose.  The new variable points
at the version-specific directory while the old variable did not.
Move CMAKE_<LANG>_COMPILER_WORKS to compiler information files

Since the parent commit this test result is specific to the version of
CMake.  Store it in the version-specific compiler information files
instead of CMakeCache.txt so testing can be re-done to meet the
requirements of the current version of CMake even if another version of
CMake was already used to configure the build tree.
Fix errors detecting Qt4 on Windows 8.

Thanks to Petr Baloun for the patch.
Merge topic 'qt4-windows8' into next

caa9151 Fix errors detecting Qt4 on Windows 8.
19d9f59 CMake Nightly Date Stamp
Merge topic 'topics/FindCUDA/Fix-g3-again'

a20c41d Replace -g3 with -g for CUDA 4.1 and 4.2 in addition to CUDA < 3.0.
Merge topic 'test-ObjectLibrary-lang'

94c08b3 Tests/ObjectLibrary: Do not enable CXX in subdirectories
Merge topic 'DependencyScanning_13474'

8aed02a -fix Java dependency scanning, broken in previous commit
7ae4479 -fix line length
87fe428 fix #13474: also rescan dependencies if the depender does not exist
Merge topic 'minor-docs-fixes'

ee949d8 Remove duplicate 'of' from docs.
ecc1acb Remove incorrect doc string for link type enum
805f5e5 Fix some typos in the docs.
389d423 Add missing whitespace to docs.
Merge topic 'pic-docs'

c82fbe0 Fix unfortunate documentation error for PIC feature.
Merge topic 'topics/FindCUDA/Add-CUDA_SOURCE_PROPERTY_FORMAT'

787287c Added CUDA_SOURCE_PROPERTY_FORMAT. Allows setting per file format (OBJ or PTX)
Merge topic 'compile-definitions-unique'

f0a1065 Rename files from main.cpp to more meaningful names.
ca7fb14 Fix the test setting COMPILE_DEFINITIONS target property
733deb6 Fix CompileDefinitions test on Visual Studio.
3dae652 Don't duplicate -D defines sent to the compiler.
Merge topic 'ninja-target-pdb-cleanup'

709fa59 Ninja: remove GetTargetPDB because it is used only once
4bb4787 Ninja:split out setting of msvc TARGET_PDB
59cbc28 Ninja: prepare msvc pdb cleanup
Merge topic 'VS11-WinRT-project-issue-12930'

4c9ae47 VS11: Rename 'Immersive' to 'WindowsAppContainer' (#12930)
Merge topic 'VS10-PrecompiledHeader-default'

f0ae381 VS: Disable precompiled headers unless enabled by project (#12930)
Merge topic 'vs11-flag-table'

9b2dda5 VS11: Generate flag tables from MSBuild V110 tool files
4cb99b1 cmparseMSBuildXML: Include DisplayName in the output
Merge topic 'more-compiler-versions'

e9bc502 Detect Analog VisualDSP++ compiler version with its id
cca386b Detect Cray compiler version with its id
622d9a7 Detect SDCC compiler version with its id
4ad7fa6 Detect Comeau compiler version with its id
952651c Detect TI compiler version with its id
74c57d9 Detect PathScale compiler version with its id
707aefd Detect Compaq compiler version with its id
Merge topic 'vs-AddPlatformDefinitions-cleanup'

2c7a451 VS: Cleanup AddPlatformDefinitions() of Visual Studio generators