Add macro support
Add mangler to target context
Support inter compilation unit dependency
Add python value bypass for macro expanded calls
Separate out math and numpy implementations from the builtins
Refactor code for registering unary ufuncs
Refactor code for registering binary ufuncs
proof of concept to remove boilerplate in npydecl.py
refactored most unary ufuncs typeinference info in npydecl.py
moved sqrt into the generic path for unary math ufuncs

All the auto registered unary ufuncs will have the scalar out type work
as in sqrt. This is probably what is intended. Test need to be added, as
this is not really checked.
Opensourcing NumbaPro CUDA-python
Fix python3
Merge branch 'newtargets' into devel

Conflicts:
	numba/targets/npyimpl.py
	numba/typing/npydecl.py
Add numba.cuda.test