Simplify array creation.

ones, zeros, empty, random creation, etc. all accept either a shape
tuple or a Distribution object.  Matches NumPy API more closely.
Couldn't two DistArrays be considered `allclose` if they have the same values at all global indicies, regardless of their distribution?