1.0.28.21: further array typechecking optimization
(really, this time. contents accidentally left out from 1.0.28.20)
* Eliminate extra lowtag checking from the array element type check:
since we know we are dealing with an array, we can use the same
fast widetag extraction code that array type dispatching used --
factoring it out into %OTHER-POINTER-WIDETAG.
* If we know after checking the dimensions that the array must have
a header, and we know that the array is simple, we can deduce that
there is exactly one level of indirection.
* Similarly, if we know that the array has a header, we can
immediately pull out the data vector to check if it too has a
header instead of doing an extra test.