Handle both streaming and non-streaming body send.

If the request body has been parsed and you have this.request.body
available, then send it. Otherwise stream this.req using a pipe();

Also added tests for these use cases.