Fix compatibility with `unit.Quantity` and numpy arrays by having array methods accept and pass through relevant arguments.

Also implements `reshape` so that the result is a `Quantity` rather than a `numpy.ndarray`