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


You raise a good point, I notice that in general the few places that urfkill allocates memory, it uses g_new0().  If we run out of memory, the application ( or daemon in this case ) immediately terminates, which means no cleanup is possible...  Using g_try_new0() is something we try to use everyone within ofono, to make it a bit more resilient, but maybe I shouldn't have tried to apply this to urfkill.  As this doesn't harm anything direcctly, maybe we leave this as is, and I'll enter a bug to better analyze memory allocation failure scenarios within urfkill?