BrowserContext should simply own DownloadManager

This patch changes BrowserContext so it store a DownloadManager
directly (as UserData), instead of storing a refptr to it.

Client code (mostly tests) that used refptrs was changed to use either
raw pointers or to use scoped_ptr/ScopedVector in case of
DownloadManagers created by it.

The Bind() in DownloadManagerImpl::CheckForFileRemoval() is now using
a weak pointer to itself.

BUG=237871
TEST=content_unittests and {unit,browser}_tests with *Download* and *SavePage*

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

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