Allow will_<api_method> to accept a block

This overrides the default behavior instead of just the default return value.

I was finding this behavior to be useful to create a mock that triggers callbacks.