Add some unit tests for H5Writer
This adds a long overdue unit test for the H5 Writer class. For now the test just writes a few simple HDF5 datasets of different shapes, with different chunking, and using all the common output types.
While I was implementing these tests I fixed a longstanding annoyance where the output type in H5 wouldn't match the type returned from the function producing the output. I'm tagging @svanstro, @jburzyns, @npond for awareness: when we switch to a release that uses this there might be a shift in our output types, but if so it will be to types we probably wanted anyway.