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


This was based on Alfonso's cure for lp: #1354716 where if WiFi is disabled, flight-mode enabled, the system rebooted and FM disabled, WiFi will be incorrectly enabled.  Alfonso's initial solution involved a third state for "soft" ( "flight_mode_false" I think? ) that neither of us liked.  Instead I suggested an additional state ( "prev-soft" which I thought you'd ack'd ).

His original branch can be found here:

https://github.com/alfonsosanchezbeato/urfkill/tree/fm-transactional