MSVC: Fix encoding of Visual Studio 10+ project files.

Use Windows-1252, which is the same encoding as older
Visual Studio project files.
GetPrerequisites:  Preserve search path order from caller.
Merge topic 'ExternalData-allow-no-urls'

8eb20ee ExternalData: Allow local stores without any URL templates
Merge topic 'configure_file-drop-IMMEDIATE'

15610bb Drop use of configure_file IMMEDIATE option
Merge topic 'set_emptyvar_PARENT_SCOPE'

bf755c7 set: Add unit tests for set/unset PARENT_SCOPE
bc280f1 set: Fix handling of empty value with PARENT_SCOPE
20afbd5 set: Handle value-less PARENT_SCOPE explicitly
Merge topic 'msvc-encoding'

58e3d49 MSVC: Fix encoding of Visual Studio 10+ project files.
Merge topic 'openmp-cray'

ebf70b0 FindOpenMP: fix detecting compilers that do not need any special flag (#14567)
Merge topic 'gp-ld_library_path'

e130b9e GetPrerequisites:  Preserve search path order from caller.
Merge topic 'doc-tool-options-as-definition-lists'

3442f2b Help: Format manual/*.1.rst options as definition lists
cmGlobalGenerator: Drop unused GenerateBuildCommand implementation

This is a virtual method that is overridden by every generator
subclass.  The base class implementation should never be called,
so replace it with a dummy implementation.
cmGlobalGenerator: Add method to compute "cmake --build" command line

Create a GenerateCMakeBuildCommand method to generate a command-line
string invoking "cmake --build" for a given target and configuration.
Optionally allow the "-i" make flag and additional native options.
CMake Nightly Date Stamp
CTest: added documentation for the "Upload" submission PART
build_command: Return a "cmake --build" command-line

Re-implement the build_command() command to use "cmake --build" instead
of generating a native build tool invocation directly.  This command
will internally invoke the proper native build tool.

This avoids requiring cmGlobalGenerator::GenerateBuildCommand to produce
a string so that it can be later refactored to produce a vector with no
quoting or escaping.  It will also allow us to later teach CMake to
delay the decision about which build tool to invoke until after the
project build system is generated to disk.  For example, on Visual
Studio 10 and above the preferred command-line tool is MSBuild, but we
need to fall back to devenv if the .sln has Intel Fortran .vfproj files.
ctest_build: Use "cmake --build" to launch the native build tool

This avoids requiring cmGlobalGenerator::GenerateBuildCommand to produce
a string so that it can be later refactored to produce a vector with no
quoting or escaping.  It also makes the ctest_build command match what
"ctest -T Build" would run in a build tree configured with the new
build_command() command behavior.  It also ensures that the native build
tool used matches that selected by the configuration of the tree to be
built.
cmSystemTools: Add RunSingleCommand overload for std::vector<std::string>
cmSystemTools: Add PrintSingleCommand method

Add a method to print a command line for human reference by simply
double-quoting every argument.
CMake Nightly Date Stamp
CMake Nightly Date Stamp
CPack: don't write internal variables to CPackConfig.cmake

The internal variables CPACK_ADDCOMP_COMPONENTS,
CPACK_ADDCOMP_STR and CPACK_ADDCOMP_UNAME were being needlessly
exported to CPackConfig.cmake.
Prefixing them with an underscore prevents this.

CPACK_ADDCOMP_STR was particularily problematic since it contains
unescaped quotes.