Refactor internal resource location APIs and initialization

Rename cmSystemTools::FindExecutableDirectory to FindCMakeResources.
Teach it to compute the locations of cmake, ctest, cpack, ccmake, and
cmake-gui executables, and the location of CMAKE_ROOT.  Provide this
information from static cmSystemTools::Get<resource>() methods.
Refactor code that needs these locations to use the new APIs.

Teach FindCMakeResources to use the OS X system API to lookup the
executable location.  When running from the CMake build tree itself,
leave a file in the tree that FindCMakeResources can use to read the
location of the source tree.  This avoids the need to compile the source
tree location into a binary that may be installed and used without the
source tree.

Teach the QtDialog on OS X to create a "cmake-gui" symlink in the build
tree next to "cmake" and the other tools, as is already done in the
install tree for the application bundle.  This ensures a consistent set
of executables are available in one directory.
CMake Nightly Date Stamp
Merge topic 'cmake-internal-locations' into next

6f9e553 Refactor internal resource location APIs and initialization
Help: Add cmake-language.7 manual
Help: Reference cmake-language.7 comment docs from cmake-developer.7

The cmake-language.7 manual now documents comment syntax.  Reference it
from cmake-developer.7 when discussing how to add comment-enclosed
documentation to modules.
Merge topic 'doc-cmake-language' into next

79fd233 Help: Reference cmake-language.7 comment docs from cmake-developer.7
a931ee4 Help: Add cmake-language.7 manual
4d76bcc CMake Nightly Date Stamp
cmExportSetMap: Override clear() to delete held resources

Replace the std::map<>::clear() method with one that first deletes
the cmExportSet instances held by each map entry, and then clears.
Otherwise the cmGlobalGenerator::ClearGeneratorMembers added by
commit 5cf1120f (cmGlobalGenerator: Refactor member cleanup between
configures, 2013-11-04) leaks the cmExportSet instances.
Merge topic 'clear-generator-data' into next

00055ce cmExportSetMap: Override clear() to delete held resources
cmSystemTools: Fix _NSGetExecutablePath calls on OS X 10.3

The buffer size argument is a different type on OS X 10.3 versus
OS X 10.4 and later.  Choose the type based on the OS X version.

While at it, use a local macro to avoid duplicating the local buffer
length.
Merge topic 'cmake-internal-locations' into next

328421f cmSystemTools: Fix _NSGetExecutablePath calls on OS X 10.3
Merge topic 'doc-execute_process'

3bb6266 Help: Clarify execute_process COMMAND argument behavior
ea6b656 Help: Format execute_process command documentation
Merge topic 'doc-cmake-language'

79fd233 Help: Reference cmake-language.7 comment docs from cmake-developer.7
a931ee4 Help: Add cmake-language.7 manual
Merge topic 'tll-target-policies'

596b2a8 Disallow linking to utility targets (#13902).
301bb5c Disallow link-to-self (#13947).
05f5fde Disallow invalid target names (#13140)
Merge topic 'test-LINK_ONLY-expression'

53b10fd Genex: Add a test for the LINK_ONLY expression.
Merge branch 'master' into next
Enable RunCMake.CMP0037 test everywhere

Split the test cases covering spaces and colons into separate units.
Run the space cases everywhere.  Disable the colon cases where they
are known to fail.  This approach increases platform coverage for the
test and makes the known-failure logic as local as possible.
Merge topic 'test-RunCMake.CMP0037-everywhere' into next

7a95256 Enable RunCMake.CMP0037 test everywhere