OnDownloadCreated() was not observing download items whose GUID didn't
match current_download_item_guid_ (e.g. when a download was canceled
before its DownloadItemImpl was created). Those items remained in
InProgressDownloadManager unobserved, so the destructor's call to
RemoveObservation() hit a CHECK failure.
Fix: always add the observation in OnDownloadCreated() before the GUID
check. Stale items still get a cancel scheduled; the observation ensures
proper cleanup in the destructor.