Avoid double call to set ofono's online property

On initialization a double call to set-soft was being done for the ofono device. This caused bugs LP #1392397 and #1379807.
The proper solution is to check the cancellable state:

 if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
    // do cleanup stuff if necessary and return, but don't touch user_data.

This would be done after the call to g_dbus_proxy_call_finish; but before assigning user_data anywhere; also using source_object rather than priv->proxy for that g_dbus_proxy_call_finish.