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-Qt4-DBus-macro' into release
Merge branch 'fix-find_dependency-EXACT' into release
Merge branch 'fix-AUTOGEN-custom-command-depends' into release
Merge branch 'doc-osx-path-variables' into release
CMakeDetermine*Compiler: Factor out search for compiler in PATH

Factor out a _cmake_find_compiler_path helper macro to avoid duplication
of the search for a full path to the compiler.
Xcode: Convert forced CMAKE_<LANG>_COMPILER to full path if possible

During cross-compiling the toolchain file may use CMakeForceCompiler to
force a compiler setting.  When using the Xcode generator try to convert
it to a full path by searching the PATH as is done for the Makefile
generators.
Unicode: check encoding of files given to configure_file.

UTF-16 and UTF-32 files are rejected.
Merge topic 'configure_file-unicode' into next

121b8702 Unicode: check encoding of files given to configure_file.
Unicode: cmake-gui encoding now matches KWSys encoding.

A UTF-8 QTextCodec is used with QString when KWSys is
configured to treat strings as UTF-8.
This means QString::toLocal8Bit() will convert to UTF-8.
Merge topic 'unicode-cmake-gui' into next

649789a7 Unicode: cmake-gui encoding now matches KWSys encoding.
CMake Nightly Date Stamp
Fix line length.
Merge topic 'remove-c_str-calls' into next

a20820fb Fix line length.
Remove some c_str() calls.

Use the clang RemoveCStrCalls tool to automatically migrate the
code. This was only run on linux, so does not have any positive or
negative effect on other platforms.
Merge topic 'remove-c_str-calls' into next

b3c24533 Remove some c_str() calls.
Unicode: To bootstrap error, add KWSys FStream.
Merge topic 'configure_file-unicode' into next

31a8e3f5 Unicode: To bootstrap error, add KWSys FStream.
Port c_str usage in files included from cmCommands.cxx.

Because cmCommands.cxx is generated, I didn't invoke the RemoveCStrCalls
properly to remove them before.
Remove c_str calls when using stream APIs.

Use an ad-hoc clang tool for matching the calls which should be
ported.