Refactor io adapters

This introduces `lib/adapters` just like we have `lib/classifiers`. A little bit down the road, this will make it very easy for us to figure out what train / test data was loaded given a certain stageRunner.