A modest proposal for fixing old assumptions before the release

Here is a more modest version of https://github.com/sympy/sympy/pull/8134, which I can hopefully finish up soon so we can get a release out. That PR should still be finished, but I don't think we should block the release on it.

So far I have my improvement to the facts algorithm. The tests all pass. Travis times are pretty variable, but comparing https://travis-ci.org/asmeurer/sympy/builds/38447593 to https://travis-ci.org/sympy/sympy/builds/38807940 it seems as if this is no slower, and possibily even faster. 

I will also cherry-pick the fix for `finite -> !infinite`, as this is a new predicate and we should get the facts for it right the first time. I will also see if `complex -> finite` doesn't need too many fixes. The rest require too many fixes to finish in a reasonable amount of time (and anyway, I think it would be better to make all breaking assumptions changes in one release). 
It was `(2*I*pi**2*x*y**2 + pi*y)*exp(-2*I*pi*x*y)/(4*pi**3*y**3)`, where y is positive, but it seems that my other fix (Mul._eval_is_infinite) causes this code to raise an error instead of returning a limit now (`NotImplementedError: Result depends on the sign of -I`). Before that it gave `-oo*I*Limit(exp(-2*I*pi*y/x), x, 0, dir='-')`. Anyway, I'm not convinced this still can't happen.