Shuffle hdf5 input data

After loading a hdf5data file the order of the data can be changed
by setting "shuffle:true" in prototxt for the specific layer. Per-
mutation is done after switching to a new hdf5 file or after each
of the data in the hdf5 file was presented to the neural network.

(compilation was tested)