Spy

Implements spies, a variation of an expectation that asserts a call has happened.  Passes the arguments through to the underlying method, returns/raises whatever the original method produces.  Works for most types except for properties and unbound methods.