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
The part that's nice about the fake timers and their use is that it makes it very explicit as to when timer based events should fire. I could make a small helper function that at least shortens this, but, putting something in teardown would mean that we only truly verify the asserts after the test is technically completed. I'm not sure I'm a huge fan of that and it could be brittle as well as some tests require two ticks.