At this point, I think there are more kinds of proxies that support verification than those that don't.  (The only kinds that don't are plain-jain test doubles and partial mocks when the config option is disabled).  I'm wondering if the implementation would be cleaner to define all this on the base `Proxy` class, and then on the proxy types that don't do verification, override `ensure_implemented` to be a no-op.  It seems like it'll be simpler to override one method there rather than 3 methods (`add_stub`, `add_simple_stub` and `add_message_expectation`) here.

Thoughts?