Use -mllvm -disable-llvm-optzns.

The -O options affect the clang front-end in a variety of ways, so allow
them to be passed through to clang. To disable just the optimization passes,
use -mllvm -disable-llvm-optzns.
Suppress useless warnings in the tests.

The tests are intentionally adding absolute include paths, so add
-Wno-warn-absolute-paths to suppress warnings about them.
Handle while statements with empty bodies.

When a while statement body is empty, it contains an empty block with no
statement list.
Merge pull request #2091 from sunfishcode/incoming

 Use -mllvm -disable-llvm-optzns.