WIP Stop launching the app on boot.

This commit reworks the initialization of Find My Device such
that init() only performs basic procedures that don't hit the
network, such as setting up handlers for settings, and the logic
for contacting the server goes into the system messages we expect
to receive: push, push-register, alarm and connection.

So initialization now basically follows the procedure:

1) Set up FxA
2) Load findmydevice.registered, _state and findmydevice.enabled
3) Process system messages

When the system messages finally get processed, they have the
guarantee that all state has been initialized, because either the
app was already running, or it was initialized before calling
navigator.mozSetMessageHandler.

The System app is responsible for listening to changes to the setting
findmydevice.enabled, and when (and only when) it goes from false to
true, that means it's time to register, so it uses a new connection --
findmydevice-wakeup -- to launch Find My Device.

The System app also monitors FxA logouts, in which case it sets
findmydevice.enabled to false but doesn't need to wake up the app,
since it will pick up that change on the next push/alarm.