Correctly determine language for more -std= flags
In particular we now support e.g. gnu++1z for C++ as well as gnu99 or
iso9899:1999 and similar for C. This means that the -imacros file will
no longer define __cplusplus when parsing C code.
We also print a warning message now we couldn't determine the language
from the -std= flag