Add some tests for h5t, and fix an issue where array dims are incorrect.

While writing tests for the h5t module I noticed that the number of array dimensions is a single value for any dimensionality of array. While this does reflect Go's notion of arrays, it also results in not being able to define a multi-dimensional array type with NewDatatypeFromValue.

This commit adds a function that deep inspects a reflect.Array and delivers a slice containing the size of each dimension of an Array. The test verifies that NDims() now returns the appropriate value.