Added a check to make sure splits are defined via a tuple.
Deleted InMemoryDataset and transfered methods to Dataset

The storage requirement will instead be controlled by the driver (hdf5).
Added definitions of iterator and get item supporting supervised and unsupervised learning.
utils to save and load the config file which contains the path to the datasets folders.
Changed the config file logic to support by dataset path.
Added a check to see if a specific dataset path exists.
Added an hash function for easy versioning.
New version of dataset_store with versioning and metadata supported.