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 an early-out to skip-stages to speed it up
Bugfix for previous commit
Added a note in the runtime header about weak linking.
Added an app that does modular compilation of a pipeline.
Method name fix in comment.
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