Add inital infrastructure for doing joins and i/o layer.  Not implemented yet but compiles
Merge branch 'feature-add-io-infrastructure'