Handle output from pnacl-clang more robustly

Previously I assumed that the full command line was output on the fourth
line when running with pnacl-clang -v. But the LLVM 3.5 change moved it
to the third line.

Now I do a few more checks to see if I can find the correct line from
the stderr output.
gen.py allows passing one template with no output

This was the previous behavior; if there is only one template and no
output (i.e. "gen.py -t templates/glue.js foo.h") then the result should
be sent to stdout.
Move response creation into its own file.

This will allow the code to be reused for callback responses.
Rename message -> request in C files

This name is more accurate, in that there can be multiple types of
messages: Requests and Responses.

This change is in preparation for allowing the C code to create and
parse Responses. This is necessary to send Responses (in response to an
initial Request from JavaScript) as well as receive Responses (in
response to a callback returning from JavaScript).
Disable fstatat in nacl_io integration test

This seems to be newly failing after updating my NaCl SDK.