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 some more nacl demos as an app
nacl demo tweaks
Added a second reaction-diffusion demo
Generating bad alignment for strided loads of stride 2 on x86.
Made initialization of halide thread pool thread-safe.
Merge branch 'master' of github.com:halide/Halide
Bugfix in Derivative.cpp

Scope was being popped when it wasn't pushed.
Prevent combinatorial code explosion during allocation bounds inference.
Allow undefined bounds expressions through the is-simple-enough check