Flight mode async

This change includes a number of changes to urfkill in order to fix a few longstanding critical flight-mode bugs, namely:

https://bugs.launchpad.net/ubuntu/+source/urfkill/+bug/1321627
https://bugs.launchpad.net/ubuntu/+source/urfkill/+bug/1339794
https://bugs.launchpad.net/ubuntu/+source/urfkill/+bug/1354716
https://bugs.launchpad.net/ubuntu/+source/urfkill/+bug/1354716


Is this check worth the trouble the way it is written? I suspect if it's out of memory, it's probably unlikely to change quickly, and a critical-enough circumstance that it could make sense to g_assert for fm_data instead, but I don't feel strongly for either way.