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
super nit:
`evt.download.onstatechange = (function(downloadEvent) { ... }.bind(this))`
The parenthesis looks a little confusing here since that is usually the convention for directly invoking an anonymous function. It's clearer if it's just:
`evt.download.onstatechange = function(downloadEvent) { ... }.bind(this)`