IO API refactoring

@nealstewart 

Make the standalone-versus-plugin API conform to other types of thingies in Spiritual (broadcasts, actions, ticks etc) in preparation for Year of the Test.
I'm assuming that this handles inputs to an EDB template. That is, that it maps arguments passed to variables inside of the EDBML. If this is true, please outline this above. Just a few sentences.