Shuffle hdf5 data

It should possible to use hdf5 data in random order. This commit adds a new parameter to specify whether the hdf5 data should be shuffled or not.