Added ability for requests to already be buffered

As mentioned in #32, it would be practical to allow to pass in requests after they have already been buffered. This allows for assertions when it is hard to establish playback state.

I explored `forwardBufferedRequest(localReq, localBuff, callback)` but that yielded a more complex interface (especially for middleware chains) so I decided to scrap it.

In this PR:

- Add the ability for `req.body` to be the already-defined body
- Added test against `req.body`
- Added documentation

/cc @Raynos @mlmorg