Fixes #6988

Now, expand_log(exp(x), force=True) == x
Test for fix of issue #6988
8517: fix Line3D intersection

o increase coverage and correct code
o remove dead code (I don't think the call to solve will every return {})
o remove code that handles the cases that the reversal of args handles
o make sure line routines accept tuples as points
make 3D collinear lines parallel as in 2D
Merge pull request #8548 from lezorich/iss6988

Issue #6988: expand_log(exp(x), force=True) = x
Merge pull request #8546 from smichr/geom

8517: fix Line3D intersection
Add _complement helper for EmptySet, rename few sets methods from complement to _complement
Fix solve_poly_inequality for constant polys

Was:
In [5]: solve_poly_inequality(Poly(0, x), '==')
Out[5]: []

In [6]: solve_poly_inequality(Poly(1, x), '==')
Out[6]: []
reduce_rational_inequalities: substitute correct polys for True/False

fixes #8545
Cleanup solve_rational_inequalities
Cleanup: remove extra imports from doctests of inequalities.py
Merge pull request #8550 from skirpichev/8545-fix

reduce_rational_inequalities: substitute correct polys for True/False
factorial is positive also for n=0