Refactor the compiler pipeline
Interpreter mode fallback
Merge branch 'master' into better_fallback

Conflicts:
	numba/compiler.py
Fix missing lines from merge and cleanups
Split Dummy type to Phantom and Opaque
Add failure in ByteCode() to be considered for fallback
Make unittest_support unset INTERPRETER_MODE at import time and warn if it is already set
Avoid this assertion from failing when tracing
Merge branch 'master' into better_fallback

Conflicts:
	numba/_dispatcher.c
Fix _MinimalResult pickling for expected failures
Add decorator to allow interpreter_mode to turn for a test function
Replace assertRaisesRegex
Refactor compiler pipeline
Fix tests
Make interpreter mode enabled by default
Cleanup
Revert interpreter mode to off by default
Rename interpreter fallback to compatibility mode
Implement cmath.{isinf,isnan,isfinite}, and simplify declaration of module globals.
Simplify some declarations