1.0.28.48: fix regressions from 1.0.28.47
* Assert the declared element-type in the
HAIRY-DATA-VECTOR-(REF|SET)/CHECK-BOUNDS transform, since
HAIRY-DATA-VECTOR-(REF|SET) transforms no longer fire for
non-simple arrays.
* Turns out that %DATA-VECTOR-AND-INDEX was the only place where the
index was checked being non-negative on some code paths -- not
taking that route meant that type check weakening from INDEX to
FIXNUM allowed negative indexes to slip in under the the radar in
SAFETY 1 code.
While this follows what we say in the manual, being more careful
about bounds checks is probably a good idea, so be more
conservative about weakenin integer types: collapse unions of
intervals into a single interval, but dont' eliminate the most
extreme bounds.
Adjust one test that checked for the old behaviour, and
update documentation.