Test matcher by __call__

Rather than a two part match and create_response, just issue a __call__
to the matcher which will return None if there is no valid response.

This will pave the way for having external matchers that response to a
__call__ (i.e. add a function to the matcher list).