Improve hyperslab functionality

Just a bunch of little improvements for using hyperslabs:

* I added a `WriteSubset` method to `*Dataset` inspired by the `ReadSubset` method.

* I also improved `SelectHyperslab` to allow `nil` arguments like in the corresponding C function.

* The rest is just `go fmt`ing…