Started making the DataSet objects more abstract

- DataSet instances contain lists of DataObject instances
- DictionaryDataSet instances contain DictionaryDataObject instances