Inequalities: return BooleanAtoms instead of bools.

This is the continuation of PR #2844, where Relationals were changed.  Now any usage of <, <=, >, or >= will result in a BooleanAtom (S.true or S.false) being returned.  To handle this, many pieces of code were changed so they no longer expect True or False.

These two pull requests also create a potential backwards-compatibility concern, as evidenced by all the code that needed correcting.  Many places use `(a < b) is True` that had to be changed to `(a < b) == True` to continue working properly with this change (not to mention all the subtler issues that cropped up).  Given the prevalence of this issue in SymPy itself, I imagine downstream code could have similar problems.