cmGlobalGenerator: Do not propagate const through GetCMakeInstance

Combine the const and non-const GetCMakeInstance to a const one and
return a pointer to non-const cmake from it.
Refactor tool selection for edit_cache (#14544)

Refactor edit_cache tool selection to ask each global generator for its
preference.  Teach the Ninja generator to always use cmake-gui because
Ninja by design cannot run interactive terminal dialogs like ccmake.
Teach the Makefile generator to use cmake-gui when also using an "extra"
generator whose IDE has no terminal to run ccmake, and otherwise fall
back to CMAKE_EDIT_COMMAND selection for normal Makefile build systems.
add_library: Fix INTERFACE on platforms with no shared libs (#14561)
create_test_sourcelist: Fix linkage in generated test driver code

Mark private function/global with static linkage.
ExternalData: Format module documentation

Manually revise the .rst format of the documentation.  Use inline
literal quotes appropriately in paragraph text.  Move the :: literal
block openers to the end of the preceding paragraphs.  Convert the
command signature documentation and examples to cmake code-block
directives.
ExternalData: Show example network path URL template

In the ExternalData_URL_TEMPLATES example, add an entry showing how to
use the "file://" protocol with a network filesystem path.
CMP0039: Add missing '.' to policy summary line
CMP0038: Add missing '.' to policy summary line
CPackWiX: Add variables for custom tool extensions and flags
bootstrap: Parse Copyright.txt instead of duplicating notice

Use 'grep' to extract the copyright notice from Copyright.txt instead of
duplicating it in the bootstrap script.
cmake-gui: Parse Copyright.txt instead of duplicating notice

Set the cmake-gui MACOSX_BUNDLE_COPYRIGHT property by parsing the
copyright notice line out of Copyright.txt instead of duplicating it.
Copyright.txt: Update year range to end in 2013
Copyright.txt: Add test to check year range

Add a CMake.Copyright test that, when the CMake version number knows the
year (as it does in development versions), checks that Copyright.txt has
been updated with the current version year.
Help: Parse Copyright.txt instead of using current year

Configure our Sphinx conf.py with a copyright line extracted from
Copyright.txt instead of using the year in which the documentation is
built.  This will future-proof the reported copyright year range when
building documentation for old versions.
Merge topic 'cleanup-edit_cache-target'

684063c Refactor tool selection for edit_cache (#14544)
eaf5b7a cmGlobalGenerator: Do not propagate const through GetCMakeInstance
Merge topic 'wix-custom-arguments'

096591b CPackWiX: Add variables for custom tool extensions and flags
Merge topic 'fix-INTERFACE-with-no-SHARED-libs'

64f73b0 add_library: Fix INTERFACE on platforms with no shared libs (#14561)
Merge topic 'create_test_sourcelist-clang-warnings'

ed675a9 create_test_sourcelist: Fix linkage in generated test driver code
Merge topic 'doc-ExternalData-network-path'

f3883f3 ExternalData: Show example network path URL template
ff6818b ExternalData: Format module documentation
Merge topic 'policy-summary-periods'

49cbca6 CMP0038: Add missing '.' to policy summary line
7390002 CMP0039: Add missing '.' to policy summary line