service: fix crash and report error properly

connect_service() calls __connman_service_connect() which may in turn call reply_pending() which unrefs service->pending and sets it to NULL. Therefore, connect_service() needs to check service->pending for NULL prior to calling dbus_message_unref() on it.

Also, __connman_error_failed() expects a positive error code.