Added PNaCl backend and made the HelloNaCl app use it.

It turns out to just be a matter of generating a bitcode file with the
right target triple and data layout.
Don't vectorize assert statements (now that they take varargs)
pnacl doesn't seem to use the llvm math intrinsics
Made nacl_demos work with pnacl

Also added missing files from HelloNaCl, and corrected misconception
about needing --pnacl-disable-abi-check
Fixed nacl_demos Makefile to include pnacl stuff in the zip
Updated reaction diffusion 2 to be slightly more interesting
Better error messages in nacl demos
Updated type on overrides of halide_error
On second thought, variadic functions in the runtime are lame.

Reverted halide_error to non-variadic, and added an internal vsnprintf to catch
and stringify the variadic args.
Simplified the math in reaction diffusion demo.
More interesting initial and boundary conditions for reaction diffusion 2
Incorporate name of parent func in name of "parallel for" task function.

This gives us easier to decypher function names, a la
"par for FooBar.s0.y.yo", rather than just "par for s0.y.yo",
which made it hard to analyze profiling data from programs
with multiple Halide functions.
Merge pull request #227 from mmp/master

Incorporate name of parent func in name of "parallel for" task function.
Added missing header guard
Added parallelization and vectorization; Cleanup.
Merge branch 'master' into resize_example