Split out data function into new file.

Split out data functions in to new (Data.py) file.  Required breaking a
used-but-not-needed dependency from Dataset to Variable and extracting
the needed info from the dataset itself.  Also made a bit of progress on
figuring out how I intend to structure the Component and Model classes.