This branch introduces a new kind of test into the stage2 test harness: Zig code that compiles into C code with the C backend, and then the resulting C code gets run and output compared against the expected result. This branch also implements extern functions in the frontend so that we can have a "hello world" C backend test that passes.