CompileFeatures: Don't try_compile for language levels with no features
requested to merge robertmaynard/cmake:dont_do_compiler_feature_checks_for_version_with_no_features into master
Previously Compilers always had to run a try_compile to determine what language level each feature mapped to. Now we can skip the try_compile when a language level has no features.
This splits out the do-not-check-when-no-features optimization from !3096 (closed) into a new MR so we can get this in first. This is a solution to Kokkos issue 2035.
Issue: #18703 (closed)