Create HDF5-backed dataset

- [x] Create HDF5-backed dataset
- [x] Make it possible to guess the dataset's format during read()
- [ ] Make HDF5 the default dataset for "smaller sized" datasets, like the results of clustering or tICA.