add idea for refactoring tests with tester and spies

@ianstormtaylor @yields initial look/feel of the normalized api for integration testers. what works what doesn't?
we could move this into the global after i think, since i'll change the `.spy()` method to push onto a queue of spies, so we can just go through each one and restore them