Use sync, not local, storage for values

Dogfooders were complaining about two related things:
1) Consent survey popping up on all computers
2) Consent/setup values not propagated between computers
[ See #129 ]

This tries to fix that by doing the following things:
* All storage is now sync, not local.
* For existing users who are getting an update, migrate the important values from local to sync storage.
* When consent/setup happens on one device, it will close the consent form/setup survey on other devices.
What happens if localstorage[CONSENT_KEY] == accepted && sync[CONSENT_KEY] == rejected? (or any other conflict)

Looks like localStorage will be left untouched and ignored (which is good), but maybe I'm missing something.