Fix a leak with the PyMethodDef created in _dynfunc, by using a dedicated closure to manage its lifetime.
Dispatcher._insert now takes a PyCFunction instead of a raw int for the underlying C func
No need to pass the function addr around anymore
The Dispatcher class now only stores the entry points, not the compile results.

This required redesigning the loop-lifting tests, and introducing a (useful, IMO) flag named "enable_pyobject_looplift".
Refactor roughly finished, still needs some polish. All tests pass.
Small refactor and clean up
Add some comments in _dynfunc.c
Merge branch 'master' of github.com:numba/numba into cfunc_lifetime
Tweak comment
Actually use ClosureBody
Guard against a NULL environment in object mode functions.

+ some general code cleanup
Add a couple comments
Correct this comment
Merge branch 'master' of github.com:numba/numba into cfunc_lifetime
Siu's patch to make the new calling-convention specific to CPU targets
Merge branch 'master' of github.com:numba/numba into cfunc_lifetime
Merge pull request #624 from pitrou/cfunc_lifetime

Overhaul passing of globals and lifted loops