Checkpoint GPU scheduling API changes and test updates.
Merge branch 'master' into test_gpu
Legacy cuda* calls are needed on ScheduleHandle as well.
Merge branch 'master' into test_gpu
Convert tests and apps to using gpu_ names.
Merge branch 'master' into test_gpu
Merge branch 'master' into test_gpu
Merge branch 'master' into test_gpu

Conflicts:
	test/correctness/hello_gpu.cpp
Merge branch 'master' into test_gpu
Merge branch 'master' into test_gpu

Conflicts:
	apps/bilateral_grid/bilateral_grid.cpp
	apps/interpolate/interpolate.cpp
	apps/local_laplacian/local_laplacian.cpp
Merge branch 'master' into test_gpu
Added experimental no_asserts and no_bounds_query target features.

This can theoretically result in leaner, meaner code, but makes no
performance difference for anything I have tested. I'm pushing it as a
branch so that others can try it if they suspect the assert overhead is
high in their case.
Don't generate assertions inside CodeGen either.
Added ability to add runtime arguments to assertion failure messages.

halide_error now has a printf-like type signature to support this.
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
Example app for bilinear upscaling of images