tests: Add variable expansion tests

There are some corner cases in variable expansion which would be nice to
capture before going and rewriting the variable expansion code.
tests: Test string(CONFIGURE) expansion with escaped quotes

*sigh* Not at all intuitive. Without @ONLY, quotes get escaped, but lose
their escape when passing through the lex/yacc parser.
tests: Test @ expansion with variable references in it

Yet another difference between string(CONFIGURE) and configure_file().
@ONLY makes sense, but string(CONFIGURE) will dereference the variable
as well while configure_file will not.
tests: Test @ expansion when the variable is empty

Yet another corner case to handle in any future parser rewrites.
tests: Comment variable_expansion test logic

It's not obvious why there are differences between the tests when moving
some lines around. Also remove unused variables from the *File tests.
tests: Make the file expansion more rigorous
tests: Add variable expansion test for @ONLY with empty expansions
tests: Move variable expansion into the Syntax test
tests: Remove variable_expansion test reference
tests: Test parentheses in ENV variables
Add FindCXXFeatures module to check for C++ features (#13842)
Merge topic 'variable-expansion-tests' into next

3e1dcc0c tests: Test parentheses in ENV variables
30ee0480 tests: Remove variable_expansion test reference
ee7ecd64 tests: Move variable expansion into the Syntax test
207d8014 tests: Add variable expansion test for @ONLY with empty expansions
1ee4d44a tests: Make the file expansion more rigorous
bdd0297e tests: Comment variable_expansion test logic
dce601f8 tests: Test @ expansion when the variable is empty
2836568f tests: Test @ expansion with variable references in it
44e68415 tests: Test string(CONFIGURE) expansion with escaped quotes
4a8f6d2b tests: Add variable expansion tests
Merge topic 'cxx11' into next

6ba5e39d Add FindCXXFeatures module to check for C++ features (#13842)