Add some COMPILE_OPTIONS for specifying C++ dialect.

These are compiler-specific, compiler version specific, extension specific
and standard version specific.
Record the compilers capable of the cxx_delegating_constructors feature.
cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties.

These are used to determine whether to add -std=c++11, -std=gnu++11
etc flags on the compile line.
Add target_compile_features command.
cmTarget: Make COMPILE_FEATURES available as a target property.
cmTarget: Allow populating COMPILER_FEATURES using generator expressions.
cmTarget: Transitively evaluate compiler features.

Extend the interface of the target_compile_features command with
PUBLIC and INTERFACE keywords. Populate the INTERFACE_COMPILER_FEATURES
target property if they are set. Consume the INTERFACE_COMPILER_FEATURES
target property from linked dependent targets to determine the final
required compiler features and the compile flag, if needed.
Base the target_compile_features command on cmTargetPropCommandBase.

This gives us 'free' handling of IMPORTED, ALIAS, INTERFACE,
non-compilable and missing targets.
Merge topic 'target_compile_features' into next

80b7125 Base the target_compile_features command on cmTargetPropCommandBase.
9da361d cmTarget: Transitively evaluate compiler features.
2e7655f cmTarget: Allow populating COMPILER_FEATURES using generator expressions.
c241abd cmTarget: Make COMPILE_FEATURES available as a target property.
82f95f4 Add target_compile_features command.
085e3ee Record the compilers capable of the cxx_delegating_constructors feature.
03b8a73 cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties.
3e3a512 Add some COMPILE_OPTIONS for specifying C++ dialect.
Record the compilers capable of the cxx_delegating_constructors feature.
Add target_compile_features command.
cmTarget: Make COMPILE_FEATURES available as a target property.
cmTarget: Allow populating COMPILER_FEATURES using generator expressions.
cmTarget: Transitively evaluate compiler features.

Extend the interface of the target_compile_features command with
PUBLIC and INTERFACE keywords. Populate the INTERFACE_COMPILER_FEATURES
target property if they are set. Consume the INTERFACE_COMPILER_FEATURES
target property from linked dependent targets to determine the final
required compiler features and the compile flag, if needed.
Base the target_compile_features command on cmTargetPropCommandBase.

This gives us 'free' handling of IMPORTED, ALIAS, INTERFACE,
non-compilable and missing targets.
Merge topic 'target_compile_features' into next

f3b65a2 Base the target_compile_features command on cmTargetPropCommandBase.
86d3694 cmTarget: Transitively evaluate compiler features.
9efd6a7 cmTarget: Allow populating COMPILER_FEATURES using generator expressions.
f0fda20 cmTarget: Make COMPILE_FEATURES available as a target property.
f6565bf Add target_compile_features command.
983ca2c Record the compilers capable of the cxx_delegating_constructors feature.