Correct handling of long-long types in printf checks

Also split out and correct size_t testing.
Correct printing of "%lld" in printf warning
Pull out warning for missing-struct-init
Change cc1_warn_at() -> separate macro and function
Check test script may have a check-prefix
Don't warn about missing initialisers for "= { 0 }"
Differentiate between "%l ..." and "%l" (missing vs unknown)