options: Correct early parsing of -O.

-O was incorrectly rejected.
Now it is a synonym for -O1 again.
options: Add stub implementations for '-Ofast' and '-Og'.
change export-ir to a per-file action (previously was a linking action)
improve semantic_comparison(): more warnings, reject some previously accepted invalid cases
reject VLA types at file_scope