Initial pipeline design

Designed the structure of the pipeline processing architecture. More
refactoring will need to be done, but this should provide the basic
framework. The README will also need to be updated to provide
information on this new architecture.