Retry multipart requests atomically and cleanup properly

This set of patches contains a number of fixes for the replicator's processing of multipart responses. Most of the fixes surround cleaning up connections used for failed requests and ensuring that entire GET+PUT operation is retried atomically (as the replicator pipes the response of the GET directly into the body of the PUT). It also includes a much older patch to use the `latest=true` query string parameter when requesting document revisions, which was a bit of optimization from the CouchDB 1.0 replicator that never made it into the rewrite.

Closes COUCHDB-1901