Don't warn in system headers
Don't emit/change state for unrecognised attributes in headers
Add -isystem for system include header

This means we can pass just system include headers to cc1 in tests, too.
Merge branch 'feature/system-headers' into master
Flag code-gen test
Better warning for compound assignment to non-lvalue