Provides the interface for specifying the parameters to the
DataLoader for reading records from the data source.
Probably not all the provided data will be usefull in all
situations, (e.g. there can be sources that do not have data set
names). It is the responsibility of the
TransformationEngine to create a correct spec and of the
DataLoader implementation to interpret it correctly.
The last paragraph shows that there is a tighter than
desirable coupling between the data source, the DataLoader and the
TransformationEngine (because it is responsible to create
DataLoadingSpecs based on the TransformationSpecs). This should
probably be redesigned and abstracted away.