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 topic 'default-lang-dialect' into next

46286213 Features: Fix the default C dialect for Clang and GNU.
9332aae1 Features: Fix references to CXX compiler version in Clang-C.cmake.
808f65de Features: Test the CXX compiler only if it has features.