Added more tests. Defined the API for casting to a data-frame.

Unit testing demonstrated the lack of being able to send a vector
into the data frame.

Time away from the code revealed that the data frame should have some
form of extensible loading API.
Commenting and adding docstrings