core: Don't always free the current id string in gdata_entry_get_id()
core: Don't always free the current id string in gdata_entry_get_id()

Currently, if you call gdata_entry_get_id() for the second time, the first
returned id string is released even if the id hasn't been changed. This is
unexpected and causes issues in several places of gvfsbackendgoogle.c, where
g_strdup() has to be used as a workaround to prevent segfaults. Let's change
the behavior to not free the current id, if it was not changed.

Closes: https://gitlab.gnome.org/GNOME/libgdata/issues/31

GNOME/libgdata