Initial implementation of datasources
Changed datasources return types, updated documentation
Switched return type to OrderedDict. Cleaned up comments
All datasources combined with suitable handler. Further code cleanup
General tidy up of comments and code
Primitive parameter validation
Merge branch 'dev_sf'