[download] Make DownloadItemObserver be owned by DownloadItem.

Currently DownloadPathRerservationTracker creates a self owned
DownloadItem::Observer implementation called DownloadItemObserver. Make
this class be owned by DownloadItem instead via the SupportsUserData
interface.

By itself this change doesn't buy us much. However, when DownloadItems
start automatically resuming from interruptions without changing the
externally visible state, this ownership would automatically get us
lifetime managment as well as a guarantee that only one
DownloadItemObserver can exist per DownloadItem.

BUG=7648

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

Cr-Commit-Position: refs/heads/master@{#366654}
1 file changed