[Download] Return DownloadInterruptReason from OnStartedCallback

DownloadUrlParameters::OnStartedCallback is invoked when the server
response is received for a newly started download. If there's an error,
this callback used to receive a net::Error indicating why.

This CL changes the return value to a DownloadInterruptReason so that
the callback can indicate error conditions that affect downloads that
aren't considered errors at the network layer. Also, it avoids having to
call DownloadManager::Start() when the response indicates that a
download is not possible.

Currently downloads that fail to start return a net::Error, but those
that fail after starting return a DownloadInterruptReason. With this
change, all downloads will return a DownloadInterruptReason regardless
of when the download is interrupted.

BUG=7648

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

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