Adding HDF5 routines

Add `open_h5` function that returns a `File` instance, which has `read` and `write` methods. This is just a wrapper around h5py.

Also add `TemporaryDirectory`, useful for unit tests.

Closes #7.