1.0.3.1: fix behaviour of >= and <= with NaNs
* Problem: (>= (/ 0.0 0.0) 1.0) evaluates to true.
Move inversion from >= to < and from <= to > from the source
transformations to new deftransforms, and make it conditional on
the derived type, avoiding the inversion for potential floats.
This fixes the NaN issues with >= and <=, but exposes gaps in our
transformations for =, causing a constraint propagation test to
fail...
* Tweak the deftransform for = so that another transformation can
co-exist with it.
Write INTERVAL-= and INTERVAL-/=, and deftransforms for = and /=
based on them.
This fixes the constant propagation issue, except for the bug it
exposes elsewhere...
* INTERVAL-INTERSECTION/DIFFERENCE returns bogus intersections -- fix
it.
...and all is well.
* Tests.
* NUMERIC-TYPE-OR-LOSE is unused, deleted.
* Also fix tests/stream.impure.lisp for UTF-8 environments.