Add test of zero-shape Dat

It's permissible to build a Dat whose shape is (N, 0) with the
consequence that the dataset size is non-zero, but the size of the data
array is zero.  We should not error in this case when accessing the data
array.
Fix data accessor checking if Dat.cdim is zero

It's possible to create a Dat on a dataset with non-zero size, but zero
shape.  In this case, we should not raise an error when trying to access
a zero-sized data array.