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?
sorry, we should change `notCalled` to `didntCall` probably to match `called`