FindPythonInterp: Use consistent version with PythonLibs. (#13794)

If

  find_package(PythonLibs)
  find_package(PythonInterp)

is called, PythonInterp will get a version of PYTHON_EXECUTABLE inconsistent
with the library versions found by PythonLibs.

The PythonLibs version is searched for after the user specified
Python_ADDITIONAL_VERSIONS and before the default versions.

While this leads to consistent interpretor and library versions, it will not
generate the same results since PythonInterp prefers the "python" executable,
which is often installed as the system default.  To avoid a call to
find_package(PythonInterp) inside FindPythonLibs.cmake, emit a developer
warning when find_package(PythonLibs) is called before find_package(PythonInterp)
and recommend the reverse.
QtDialog: Avoid linking to Qt4 WinMain when using Qt 5.

Override the QT_QTMAIN_LIBRARY cache variable with a regular
variable in the Qt 5 configuration.

Avoid linking to QT_QTMAIN_LIBRARY at all if CMP0020 is available. If
it is available, it is set at the top of the file, enabling automatic
linking of the correct WinMain library.
QtDialog: Don't define KWSYS_CP_UTF8 if using Qt 5.

Qt 5 expects source code in Utf-8, and the setCodecForCStrings etc
methods are not available in Qt 5.
Merge topic 'fix-Qt5-windows-build' into next

f417a803 QtDialog: Don't define KWSYS_CP_UTF8 if using Qt 5.
b62c826d QtDialog: Avoid linking to Qt4 WinMain when using Qt 5.
Merge topic 'different-python-header-libs-exe-0013794' into next

3c4da3e3 FindPythonInterp: Use consistent version with PythonLibs. (#13794)