Experimental distributed

Two main changes:

--> Added data-distributed learning algorithms.
--> Added data types to the datasets.