bug 1077595 - Use DataStoreChangeEvents to update Download API Manager c...

...ache up to date. Move tracking of active downloads into StatusBar instead of DownloadNotifications. r=crdlc,mhenretty
Based on the code of `DownloadApiManager` there seem two cases when receiving the `added` event from the datastore. The first one would be the cached download object gets updated. The other one is the download object does not exist in the cache. We should handle both cases. If the second case is impossible, `DownloadApiManager` should not dispatch the event in the beginning.