Fixed DataArray.reduce to use the axis argument like numpy

Previously, the axis argument (if given as a list) was used to apply the
reduction repeatedly one dimension at a time. That wasn't like numpy, and
could potentially lead to hard to recognize errors if using an aggregator
where order matters.