check: Rework dirafter test to handle all special cases

Expand the special flags test to check -framework usage and the handling
of multiple arguments.
Ensure -isystem Cflags not compressed like -I

Treat -isystem specially like -idirafter so that multiple arguments
retain the preceding -isystem.

Freedesktop #72584 (https://bugs.freedesktop.org/show_bug.cgi?id=72584)
Don't used C reserved identifiers

Seems incredibly unlikely this would ever be an issue, but it's easy
enough to fix it. I fear for the Glib/GObject world where this is a
standard design pattern.

https://www.securecoding.cert.org/confluence/display/seccode/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier

Freedesktop #70690 (https://bugs.freedesktop.org/show_bug.cgi?id=70690)