{assembly,compiler}/arm/array: Fix allocation padding calculation.
* All allocations must preserve the double-word alignment on the
allocation pointer, which means that they must be a multiple of
two words in length.
* These two cases were adding an extra word and then using BIC
in order to clear the low bits of the length, which is the usual
method for rounding up to some boundary. However, they were using
(1- N-LOWTAG-BITS), which would be 2 and not simply LOWTAG-MASK,
which is 7. Needless to say, alignment was not being maintained.
* Fix, by using the correct parameters to BIC.