Fix #503: data flow analysis issues when incoming variables are propagated accross more than one block
Add tests
Rework algorithm to make it correct under 2.6
Fix algorithm to produce less phi vars and strengthen tests by requiring that native mode compilation succeeds
Note that POP_JUMP_IF_{FALSE,TRUE} are broken (probably always have been)
Improve tests and propagation algorithm
Use compilation cache in test_dataflow
Alternate fix for #503.
This fails test_usecases under 2.7+ (again because of stack effect mishandling on
JUMP_IF_{TRUE,FALSE}_OR_POP), but should provide a better foundation for fixing this issue..
Fix test_usecases by making JUMP_IF_*_OR_POP support correct.
Add one more test
Simplify internal implementation a bit
Fix copy/paste error in tests...
Merge branch 'master' of github.com:numba/numba into fix503_2
Merge pull request #584 from pitrou/fix503_2

Fix #503: more correct approach