added a name attribute to task inputs and outputs so that they can be defined at task_type level. Also, data_split and predictions are now not explicitly singular anymore, but there can only be one input with the name 'data_splits' and only one output with the name 'predictions', so we can verify validity.
Merge branch 'master' of github.com:joaquinvanschoren/OpenML