support arbitrary request bodies

Currently we only support percent-encoded form bodies, but one may wish to mock a JSON request, for example. This pull request allows arbitrary request bodies. Like response bodies, these may span multiple lines.