When we're finalizing, the remote settings instance might already be
gone and thus we can't list connections. In particular this happens at
panel finalization resulting in the following warning:
libnm-glib-CRITICAL **: nm_remote_settings_list_connections: assertion
'NM_IS_REMOTE_SETTINGS (settings)' failed
because cc_network_panel_dispose() unrefs the remote settings object
before all the NetDevice instances are finalized.
Since we only need to list connections on finalize to disconnect a
signal we can instead use g_signal_connect_object() and keep the
connections that we're keeping track of in a hash table instead of
g_object_set_data().
https://bugzilla.gnome.org/show_bug.cgi?id=749850
Rename NetDeviceWired to NetDeviceEthernet, but split out most of the
code into a new NetDeviceSimple superclass that can later be used for
other device types that we provide only minimal UI/support for.
https://bugzilla.gnome.org/show_bug.cgi?id=677143