6463: fix ordering of RealInterval.a and b
RootOf: raise ValueError if no index is obtained
RootOf: _eval_Eq is defined
Relational.canonical: put symbol on lhs
FiniteSet.contains: use Eq to check inclusion

If an object defines the _eval_Eq method, it can be used
to test whether an object is not in the set.
Interval: relax test for inclusion; do symbolic reversal test
use prec with _eval_evalf, not evalf (which uses dps)
Set.as_relational: slightly simplify code
Sets: shorten line lengths
Sets: add tests
Merge pull request #8537 from smichr/ineqa

RealInterval returns correctly sorted a and b values; other misc changes
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