C17 and C23 support
This includes quite a few things C related things I noticed needed improving/fixing while working on #21771 (closed).
- C17, C23 support.
- C17, C23 for GCC and Clang.
- Fix default standard detection for Clang in MSVC compatibility mode.
- Select Clang standard flags based on the frontend variant not the ABI mode.
Fixes: #17755 (closed)
Edited by Brad King