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


I think you're missing incrementing the block_index now; you'll just look at the same device again and again, no? Otherwise I fail to see the point of calling handle_flight_mode_killswitch again and again without passing a parameter that changes. If that's on purpose, consider adding a comment that explains what this does exactly.