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
Ad-hoc fix for ambiguous type overloading
Ignore unrecognized intrinsic
Fix return type seeding.
- Introduce implicit cast ir node
Add test for invalid return type forcing
Use asymmetric resolution to resolve function call if we have mulitple possible candidates
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
Add complex.conjugate().
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