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.

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

Review URL:

git-svn-id: svn:// 0039d316-1c4b-4281-b951-d872f2087c98
18 files changed