bugfix: http.Request.Body does not fit http.NewQuest

To create a new http.Request with http.NewRequest based
on an earlier http.Request, we cannot simply do this:

    req2, e := http.NewRequest(req.Method, req.URL, req.Body)

We need to wrap the original request's body like this:

    var buf bytes.Buffer
    io.Copy(&buf, req.Body)
    req2, e := http.NewRequest(req.Method, req.URL, &buf)