Visual Studio 2015 and 2017 don't implement include_next, so we'll use a combination of a computed include and CMAKE inputs to make it work. Also, retrofit all the existing invocations of #include_next that we could hit in a hypothetical MSVC build.
This relies on implementation defined behavior in the MSVC preprocessor.
See C11, 6.10.2.4 ("Source file inclusion") for the statement on implementation defined vs. undefined.