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


Frankly the UrfDevice split wasn't don't correctly.  The parent class had object_path, instance, and connection all included in it's priv struct, device-kernel.c duplicated all three, and device-ofono duplicated object_path.  This isn't really how OO classes are supposed to work, so I re-worked the code to use the parent class' attributes.  Also, this function isn't really generic, as it only applies to instances of UrfDeviceKernel, which is where I moved it.

There still is duplication of the 'soft' attribute, however I left that as is.

We still need to spend cycles on the startup sequence, as it's not very obvious how things work.  I spent a lot of time hitting brick walls preventing the async code from working correctly and this change was fallout from trying to make things work better.