[datashuffler] added the get_batch_epoch function implementing minibatches retrevial ensuring a complete pass over the training set (i.e. an epoch)