Refactor of how llvm headers are included.

Also split JITCompiledModule logic off into its own file.
Merge branch 'master' of github.com:halide/Halide

Conflicts:
	cpp/src/CodeGen.cpp
	cpp/src/CodeGen_PTX_Host.cpp
Merge branch 'master' of github.com:halide/Halide

Conflicts:
	cpp/src/CodeGen.cpp
	cpp/src/CodeGen_Internal.cpp
	cpp/src/CodeGen_PTX_Host.cpp
Remove unnecessary include.