Core: inequalities with NaN raise TypeError

NaN is indeterminant; for example the result of `0/0` could be
many values in the sense of limits (`5*x/x`, `x/x`, as `x` to zero).
By this interpretration, `3 < NaN` is not an valid comparison and
we raise the error.

Note this is different from the usual IEEE 754 Floating Point
system which regards all inequalities with NaN as false, using
the logic "3 is not determinably less than NaN".

Some tests in core/tests/test_numbers also updated.

This is discussed in issue #7773 and in pr #7776.
meijerint: workaround NaN's in _check_antecedents

Inequality checks with NaN's used to be false.  Now they raise
TypeError.  This causes failures in meijerint.py's
`_check_antecedents`.  I've kludged it to get the previous behaviour
but its possible those NaN's are a symptom of a real issue.  Left
some comments and FIXME's in there for this.  Also labelled several
of the tests that hit the issue.