[BackgroundSync] Fire one-shot events
Fires one-shot events.
* Checks for ready events to fire on network change
* Checks for ready events to fire on registration
* A successful event will unregister itself after firing
* A failed event will not fire again until a controlled page load (that is for a future CL)
* Lots and lots of tests!
BUG=
479665
Committed:
https://crrev.com/81e977f894c3c8d8f7aec029112ea63b4f7a4def
Cr-Commit-Position: refs/heads/master@{#327911}