refactor CUDA code to separate files so that we can run on non-GPU node.
fix some refactor errors
Merge branch 'master' into native-deps

Conflicts:
	src/Mocha.jl