Add the ability to intercept requests before they actually get sent

I needed to add a body to requests.  LMK if there is an existing way to do it, this is what I came up with.  The last argument to `whenCalledRemotely`, and therefore all the functions which wrap it, can now be an object with `callback` and `beforeRequest` options.

This is fully backwards compatible when you pass a callback as before.  When you use the new option, usage becomes:

```coffeescript
lt.describe.whenCalledByUser USER, 'PUT', '/apps',
  beforeRequest: ->
    @http.send({orgId: 5})
  callback: ->
    lt.it.shouldBeDenied()
```