Features: Add cxx_template_template_parameters.

Extend the existing feature infrastructure as needed to support
both C++11 and C++98 features.
Add platform-specific initialization step when enabling languages

Create a Modules/CMakeSystemSpecificInitialize.cmake module loaded after
CMakeSystem.cmake but before per-language initialization.  Use it to
load an optional Platform/<os>-Initialize.cmake module.  This will be
useful to do per-platform initialization that does not depend on the
language and use the results when enabling specific languages.
OS X: Factor a Darwin-Initialize module out of Platform/Darwin

Initialize variables CMAKE_OSX_SYSROOT, CMAKE_OSX_DEPLOYMENT_TARGET, and
CMAKE_OSX_ARCHITECTURES prior to enabling any languages.  This will
allow compiler identification to consider these values.
Xcode: Use sysroot and deployment target to identify compiler

Use CMAKE_OSX_SYSROOT and CMAKE_OSX_DEPLOYMENT_TARGET to set the Xcode
SDKROOT and MACOSX_DEPLOYMENT_TARGET build settings.  This is necessary
because some versions of Xcode select a different compiler based on
these settings.  We need to make sure the compiler identified during
language initialization matches what will be used for the actual build.
Merge branch 'master' into osx-init-early

Resolve conflict in Source/cmGlobalGenerator.cxx by integrating
changes from both sides.
Merge topic 'cxx98-features'

a36b957f Features: Add cxx_template_template_parameters.
Merge topic 'osx-init-early'

bbc358c3 Merge branch 'master' into osx-init-early
0cce556b Xcode: Use sysroot and deployment target to identify compiler
0200d0a9 OS X: Factor a Darwin-Initialize module out of Platform/Darwin
416761e3 Add platform-specific initialization step when enabling languages