Allow before/after function

This will allow adding a `before` and `after` property to the config for a request.  These get called before a request is made with the value as the context, and after the request is made but before resolving with the value as the context.

Fixes #2