Add periodic background sync

Adds a periodic background sync. Service to host the app, new preference. Suppresses error toasts when sync originates from periodic alarm.

To start this properly on boot we need a new permission.