Pipelining + Necessary Changes

All changes to the existing classes in Hyrise come first, then followed by a major commit adding the pipelining interfaces and example classes. Granularity of commits can be changed upon request.