[Downloads] Persist ETag and Last-Modified headers.

These response headers are used for partial download resumption. If an
interrupted download had a valid strong ETag header and the server
supports byte range requests, then a subsequent downloads resumption
attempt could fetch part of a resource instead of the entire resource.

While the Last-Modified header is also used for validation currently,
its use will be discontinued since a matching Last-Modifed value does
not imply byte-wise equivalence.

Without persisting these headers, partial downloads resumption will
only work for downloads that are interrupted and resumed during the
same browser session.

BUG=7648

Review URL: https://chromiumcodereview.appspot.com/20536003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216493 0039d316-1c4b-4281-b951-d872f2087c98
22 files changed