Fixes to handle more than one compute_root Func per compile for PTX.

Ensure that all initial module functions for PTX have
AvailableExternaly linkage.

Cosemetic fixes to cuda.cpp.
Protect case where otimize_module is called with not function active.
(This is happening for an empty function but with PTX codegen being
called somehow.)
Add a test for multiple Func's that are compute_root when compiling
for a GPU target.
Merge branch 'master' of https://github.com/halide/Halide
Fixed linker errors regarding empty() 'function'
Added ability to embed images within generated object files / c source

You do this by not including an image in the argument list.

Also added statically/aot-compiled tests.

Also renamed a few things that were too overloaded:
  - CodeGen_GPU_Dev::compile meant something different to CodeGen::compile
  - CodeGen::buffer_t meant something different to buffer_t
Merge branch 'master' of github.com:halide/Halide

Conflicts:
	src/CodeGen_PTX_Dev.cpp
Added opencl metadata
Added more SPIR kernel metadata
Typo fix.
Easier to identify start/end of the build log.
Used existing unique_name from Util
Added kernel_arg_base_type metadata
Merge branch 'master' of https://github.com/halide/Halide

Conflicts:
	src/CodeGen_PTX_Dev.cpp
	src/CodeGen_SPIR_Dev.cpp
Fixed assert on $ for uniqued names