Zero length dsets selection

numpy also lets you access arrays with at least one dimension as 0 with ':', ex

```
x = np.zeros((0, 3))
x[:]
```

This change will not correctly deal with cases like `x[:, :1]`, will create an issue for it.

Probably should have broken the pep8 fixes to `test_dataset` out into a separate commit.