Ensure that url_loader can be deleted without corrupting the response.

With the current implementation, if a client delete an url_loader, it
cannot continue to use the response, because the body might not be
completed.

This CL changes this behavior so that the url loader will continue to
stream the body until the two following conditions are met:
1) The client is disconnected
2) Any in-flight request is done and the content is streamed to the
   client.

R=jamesr@chromium.org, aa@chromium.org

Review URL: https://codereview.chromium.org/745643002