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.
Merge branch 'fix-xcode-compiler-force' into release
CMake Nightly Date Stamp
cmake-gui: Fix handling of missing CMAKE_EXTRA_GENERATOR (#14804)

Since commit 1a1b737c (stringapi: Use strings for generator names,
2014-02-24) cmExternalMakefileProjectGenerator::CreateFullGeneratorName
expects a std::string instead of const char*.  When no extra generator
name is available, pass an empty string to avoid NULL dereference.
Merge branch 'fix-find_dependency-EXACT' into release
Merge topic 'fix-xcode-compiler-force'

8c9bfac3 Xcode: Convert forced CMAKE_<LANG>_COMPILER to full path if possible
6852fb80 CMakeDetermine*Compiler: Factor out search for compiler in PATH
Merge topic 'fix-find_dependency-EXACT'

224f50f4 find_dependency: Make sure invalid EXACT use can be reported.
Merge topic 'fix-find_dependency-EXACT-for-master'

f74a8405 Test error cases in find_dependency.
Merge topic 'FindPkgConfig-revise-docs'

49ef91d7 FindPkgConfig: restructure documentation and document commands and variables
Merge topic 'unicode-cmake-gui'

649789a7 Unicode: cmake-gui encoding now matches KWSys encoding.
Merge branch 'master' into next
Merge branch 'release'
Merge branch 'master' into next
Workaround Sun C++ 5.9 compiler crash

Adjust whitespace in Source/CPack/cpack.cxx to avoid a strange
internal compiler crash.
Merge topic 'remove-c_str-calls' into next

3be265b3 Workaround Sun C++ 5.9 compiler crash
Merge topic 'remove-c_str-calls'

3be265b3 Workaround Sun C++ 5.9 compiler crash
af8a1643 Remove c_str calls when using stream APIs.
21c573f6 Remove some c_str() calls.
Merge branch 'master' into next
cmCustomCommand: Return std::string from GetWorkingDirectory
cmGlobalXCodeGenerator: Simplify handling of multiple outputs

Make the multiple output pair map more local.  Generate it where we
have the current configuration available.
Generalize cmCustomCommandGenerator to more fields

Until now the cmCustomCommandGenerator was used only to compute the
command lines of a custom command.  Generalize it to get the comment,
working directory, dependencies, and outputs of custom commands.  Update
use in all generators to support this.