Clean up caller-allocated GValues and their memory
Clean up caller-allocated GValues and their memory

When space for a GValue is allocated by the caller (as in
gtk_tree_model_get_value), we need to free the space allocated for the
value along with its contents. The GValue is not needed after
Pyg_value_as_pyobject is called, so call _cleanup_caller_allocates and
have it unset the value and deallocate the memory.

https://bugzilla.gnome.org/show_bug.cgi?id=691820

pexip/pygobject,davibe/pygobject,GNOME/pygobject,sfeltman/pygobject,pexip/pygobject,davibe/pygobject,davibe/pygobject,sfeltman/pygobject,pexip/pygobject,davibe/pygobject,GNOME/pygobject,GNOME/pygobject,sfeltman/pygobject