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


There's a chance of leaks here; which is partly why I'd rather keep the whole lifecycle of the object path variable in urf-device.c; at the very least, (I've only been looking at the diff) let's make sure the object_path is freed in the urf-device dispose call; but ideally I'd possibly duplicate it here from the parameter if you really want it to be passed from the devices, and free the specific devices' copy just after their call to register_device.