fix some negation ctype logic

More tests to fail, hooray! They're mostly copied from when I was
working things out in my head in negation-ctype's csubtypep methods
(set-types.lisp). Presently, two of them fail, but that's due to the
unclear relation between primitively disjoint types (specifically ARRAY
and INTEGER, but it would be the same for any); I'll fix that later.

Seemingly unrelated changes (e.g. in number.lisp) are about making sure
REAL surely doesn't subtype INTEGER, etc., stuff revealed by the
negations test.
typo for non-atomic specifiers