Basic reduction support for one axis at a time

Works for `DistArray.sum()` and `DistArray.mean()`.  The `axis` argument must be a single integer, `None` or a sequence of integers not supported.

This lays the groundwork for full reduction support (multi-axis, all axes, etc.).

Implementing reduction support for `DistArray.var()` and `DistArray.std()` will take more work, since these methods require multiple reduction steps.  That will come in a future PR.