Initial draft of data parser

Need to write unit tests to verify functionality and a lot of
refactoring but I think I've got a decent template.