Added case to typeof_global for None global value

Sometimes (for large functions), `None` uses the `LOAD_GLOBAL` instruction instead of the `LOAD_CONST` instruction, as Numba currently assumes.  This change will catch the case that `None` is loaded as a global var.
Improving cuda backend
Expose compiler info
Expose device
Fix discover_modules() in benchmarks/runall.py to work on Python 3.
Fix typo (s/legialize/legalize/)
Merge pull request #437 from pitrou/typo_legialize

Fix typo (s/legialize/legalize/)
Release compile lock even when an error occurred
Allow compile errors to be displayed in Travis logs
Merge pull request #442 from pitrou/devel

Alternate approach for Numba_recreate_record #2
add support for NUMBAPRO_NVVM env var
Merge pull request #436 from pitrou/benchmarks-py3

Fix discover_modules() in benchmarks/runall.py to work on Python 3.
Add a gridsize() CUDA helper function to compute blockDim * gridDim for loop strides.

Analogous to the grid() function used to compute global thread offsets.
Merge remote-tracking branch 'origin/master' into devel

(this imports the changes I mistakingly committed into master)
Fix some C(++) compilation warnings
Merge branch 'compile_lock_finally' into devel
Add some pointer typing accross the C++/C bridge (_dispatcher)
Avoid dynamically importing numba.dispatcher from numba._dispatcher (and storing an immortal reference to it).

Instead, typeof_pyval() becomes a classmethod on the Overloaded class
(which is the type on which _dispatcher.Dispatcher methods are actually called).
Fix typo ("set_compatbile")
Merge pull request #445 from pitrou/remove-dispatcher-import

Remove dispatcher import from _dispatcher