Bug 1042939 - Resurrect periodic sync, alarms refactor r=millermedeiros

I would probably always have a resolved promise as `action` and just chain the actions.