Refactored how data is written to HDF.
This allows us to defer reading the values until they are actually
needed.
Refactored HDF5 writing such that files only get updated if data was
changed.