Clang: Add separate "AppleClang" compiler id

Apple distributes their own Clang build with their own version numbers
that differ from upstream Clang.  Use the __apple_build_version__ symbol
to identify the Apple Clang compiler and report the Apple Build Version
as the fourth version component in CMAKE_<LANG>_COMPILER_VERSION.  Add
Compiler/AppleClang-<lang> and Platform/Darwin-AppleClang-<lang> modules
that simply include the upstream equivalents.

Fix comparisons of CMAKE_<LANG>_COMPILER_ID to Clang in CMake's own
source and tests to account for AppleClang.
Add policy CMP0025 for Apple Clang compiler id compatibility

The parent commit introduced a separate "AppleClang" compiler id for
Apple's Clang distribution.  Add a policy in order to support projects
that expect this compiler's id to be just "Clang".  When the policy is
OLD or not set, map AppleClang back to Clang.  Continue to use the
AppleClang id internally while enabling the language, but set the
CMAKE_<LANG>_COMPILER_ID after project() or enable_language() to the
compatible value for use by project code.
Set policy CMP0025 to NEW while building CMake itself

CMake is aware of the policy's NEW behavior and the AppleClang compiler
id.  Set the policy to NEW explicitly to avoid the warning and get the
NEW behavior.

Also teach the RunCMake test infrastructure to build tests with
-DCMAKE_POLICY_DEFAULT_CMP0025=NEW to avoid the policy warning
in test output that must match specific regular expressions.
FindGTK2: Mark GTK_*_INCLUDE_DIR as advanced
FindGTK2: Find freetype quietly
FindGTK2: Search for modules quietly when needed
FindGTK2: Export GTK2_XXX_FOUND to parent scope in _GTK2_FIND_LIBRARY

Also add a debug message to report if the library was found or not
FindGTK2: Populate GTK2_DEFINITIONS before searching for libraries
FindGTK2: Search for glib-object.h instead of gobject/gobject.h

This is the topmost include file for GObject header files
FindGTK2: Create targets for each library

Methods:
 * _GTK2_ADJUST_LIB_VARS
 * _GTK2_ADD_TARGET_DEPENDS_INTERNAL
 * _GTK2_ADD_TARGET_DEPENDS
are strongly inspired by FindQt4.cmake
FindGTK2: Better handling of include directories

Add a method _GTK2_ADD_TARGET_INCLUDE_DIRS to handle it.
FindGTK2: Do not require the GTK_ prefix in all the internal functions

This saves from using string(REGEXP) to create targets
FindGTK2: Small cleanup
CMake Nightly Date Stamp
unset: Add PARENT_SCOPE option

Add an unset() command option to remove a variable from the calling
scope, just like the set() command's PARENT_SCOPE option.  Teach the
Unset test to cover such cases.
curl: Fix typo in header include guard

From clang's -Wheader-guard.
cmNewLineStyle: Remove useless semi-colon

Warned by clang.
cmGraphVizWriter: Add extra space in comment to suppress warning

Clang's -Wdocumentation thought it was malformed doxygen.
Fix warnings about \brief usage

A doxygen \brief is ended with a newline, so remove a newline right
after \brief to fix clang -Wdocumentation warning.
cmTarget: Properly escape @ char in doxygen comments

Found by clang's -Wdocumentation.