change Dimensions imll to use slice

By using a slice instead of an array, callers can still define their
own dimensions to use.  There were some edge cases introduced, where
units could be compared with different lengths of dimensions.