Firstly privatize everything on the existing matcher object as it is now
going to be a public interface.
Add called and call_count parameters for querying how many times that
particular mock was invoked. We do this by saving a reference to every
request that passes through. This is inefficient for now, however it
lets us do more interesting things like called_with in the future.