Fix connectivity on disconnected devices
This merge request adds 3 commits that test, after a connectivity check fails, if the device used is disconnected. If it is, we set the resulting connectivity to NONE and if it's not disconnected, we set the connectivity to LIMITED (as before).
Since the NMDeviceConnectivityHandle struct that contains the NMDevice object is passed as a gpointer and we need to cast it back to the original type, I've converted the struct to a GObject, so we can use macros to test if we can really cast it (to prevent future changes from breaking the casting).
This fixes #138 (closed).