codegen: Actually free data when using "remove(_all)" on GLib.Queue/(S)List
When using e.g. GLib.List.remove() there is no context/feedback whether an item was removed or needed manual free'ing.
Replace such calls with custom wrappers where items required free'ing if they were found.
Fixes #1238 (closed)