make urlmatch optionally filter based on request method

More REST compliant services have the same URL for different operations and the difference between them is the HTTP method.
This change allows multiple functions to mock the same URL but for different HTTP methods i.e. GET vs POST can be mocked separately for the same URL.

It maintains previous behaviour so if a function doesn't specify the method param and multiple functions match the same URL the first one to return a value that's not None is taken.