CPackWIX: refactor and cleanup

Extract addtional classes and functions which are getting unsightly large.
Use some of the coding conventions more consistently.
Add FindOpenCL module
FindQt4: prevent overlinking when using UseQt4.cmake.

Now it only links with the Qt libraries specified by the user,
instead of automatically including all dependencies.
Fixes #14750 and thanks to Orion Poplawski.
Utilities/Release: Do not upload doc staging tarball

Restrict the release upload globbing pattern to match the CMake version
so that "cmake-<v>*" files go but "cmake-<id>-docs.tar.gz" does not.
Add test for find_dependency macro.
FindGTest: Optionally detect sources automatically (#14775)

Teach GTEST_ADD_TESTS an "AUTO" option to read the source files from the
SOURCES target property of an executable.
Help: Add FindGTest-AUTO-SOURCES topic release notes
Help: Add FindHg-WC_INFO topic release notes
Help: Add ExternalProject-BUILD_ALWAYS topic release notes
VS: For Intel Fortran .vfproj put OBJECT libs in link line (#14777)

The Intel Fortran .vfproj format accepts the $(Configuration) placeholder
in the path to an input file but appears to consider it always out of
date.  Therefore adding OBJECT library objects as external object source
files causes the referencing binary to re-link on every build.  Work
around this problem by putting OBJECT library objects on the link line
as is done for VS < 8 already.
FindPkgConfig: Prefer PKG_CONFIG to find pkg-config (#13175)

If the environment variable PKG_CONFIG is set, use this as the
default pkg-config executable.
Utilities/Release: Update IBM AIX build machine access
Tests/RunCMake: Tell cmake not to report unused command-line options

On OS X we pass -DCMAKE_POLICY_DEFAULT_CMP0025=NEW to all tests.
Once tests start using cmake_minimum_required(VERSION 3.0) then
CMake will warn that CMAKE_POLICY_DEFAULT_CMP0025 is unused.
These warnings are not part of the expected test output and can
cause such tests to fail.  Pass --no-warn-unused-cli to each test
cmake invocation to tell it not to produce these warnings.
Help: Add release notes for topic 'add-FindOpenCL'
CTest: notify user if gcov cannot be found

Emit an error message when we're performing coverage using
gcov and the gcov executable cannot be found.
Help: Add release notes for topic 'FindPkgConfig-PKG_CONFIG'
Merge topic 'FindHg-add-WC_INFO'

02a74a7d Help: Add FindHg-WC_INFO topic release notes
Merge topic 'ExternalProject-BUILD_ALWAYS'

755b378e Help: Add ExternalProject-BUILD_ALWAYS topic release notes
Merge topic 'wix-refactor'

6fcd835c CPackWIX: refactor and cleanup
Merge topic 'add-FindOpenCL'

1b08e609 Help: Add release notes for topic 'add-FindOpenCL'
041485bc Add FindOpenCL module