make working directory configurable, introduce plugin concept
rename replay.run -> runner
type change: Context.working_directory is an External
extract plugins.DataStore from Runner
refactor plugins.DataStore: extract spec interpretation of file pairs
plugins.DataStore checks inputs and outputs
simplify Plugin: move runner parameter into constructor
Pythonify plugins: they are context managers