Return modem_settings from the _secrets_cb

Modem configuration uses Gtk.main_iteration() in a loop waiting for the
asynchronous call to get_secrets to return. This causes a problem with
the GLib.idle_add call in the gui to set the WATCH cursor (See #3800).

This patch uses a callback in the _secrets_cb (and _secrets_err_cb) to
return the settings, thus avoiding the need for the loop.