Features: Test the CXX compiler only if it has features.

If using different C and CXX compilers, we might not have a
feature-full CXX compiler at this point.
Features: Fix references to CXX compiler version in Clang-C.cmake.
Features: Fix the default C dialect for Clang and GNU.

Clang 3.4 uses C99 by default, and Clang 3.6 uses C11 by default:

 http://thread.gmane.org/gmane.comp.compilers.clang.devel/39379

GNU 4.9 uses C90 by default, and GNU 5.0 uses C11 by default:

 https://gcc.gnu.org/gcc-5/changes.html

Test that the default compiler settings result in the expected dialect
macros being defined for both C and CXX.  Remove the unused main.c
file from the CompileFeatures unit test.
Merge branch 'default-lang-dialect' into default-lang-dialect-for-master

Conflicts:
	Modules/Compiler/Clang-C.cmake
Merge topic 'default-lang-dialect-for-master' into next

18643c0e Merge branch 'default-lang-dialect' into default-lang-dialect-for-master
b189110d Features: Fix the default C dialect for Clang and GNU.
49e2b689 Features: Fix references to CXX compiler version in Clang-C.cmake.
7565ab2c Features: Test the CXX compiler only if it has features.