no storing of the datasets anymore; method for finding the best experiment; only store one checkpoint; no casting to array from hdf5

Since train_data can be [X] or [X, Z] or [X, Z, W] (likewise val_data) I just wanted to provide a template that can deal with any of those formats. But you don't need it there, obviously.