HDF5 support
This series adds support for saving and loading noise budgets from HDF5 files. Functions are added to save/load HDF5 files, and support is added to the CLI.
The only discussion I can see here might be about the format of the saved HDF5 files. I've put in a fairly straightforward one, but maybe everyone would like to settle on something else before we merge this.