array refactor

Don’t create array data as a PyArray on every occasion, but only when
reading from datasets. Otherwise, create array data as Arrays and use
YTQuantities to handle units.