app: revive gimpdrawable-foreground-extract

Move the extraction graph from the foreground select tool there.
Enable the PDB wrapper again, using default values for now.
Some sytle cleanup in the foreground select tool.
app: make projection chunk size and display render chunk size configurable

Set the GIMP_PROJECTION_CHUNK_SIZE and GIMP_DISPLAY_RENDER_BUF_SIZE
environment variables to "WIDTHxHEIGHT".
app: fix projection and display render chunk-size envvars
app: Return NULL on failure in gimp_drawable_foreground_extract

It is not a void function.
libgimp: make gimp_image_metadata_save_prepare() suggest GimpMetadataSaveFlags

Return flags based on what metadata is actually present in the image.
Returning of a suggested value for GIMP_METADATA_SAVE_THUMBNAIL needs
support from gimp_image_metadata_load_prepare() and is still missing.

Port all plug-ins to use the new API, the suggested values are however
overridden by parasites and whatever special code was devised for the
individual plug-ins. This needs to be fixed.
libgimp: update docs of gimp_image_metadata_save_prepare()
libgimp: always return a pixbuf from gimp_image_metadata_rotate_pixbuf()

For "no rotation" return a reference of the original, instead of NULL.
plug-ins: various small cleanups in the plug-ins that use metadata
app: properly disconnect from the old shell in gimp_tool_dialog_set_shell()

Also clean up the function a bit.
app: always return a widget from gimp_prop_gui_new()

As a fallback, return a label saying "This operation has no editable
properties".
app: factor out a generic GimpPopup widget out of GimpContainerPopup
app: add GimpPickablePopup which will allow picking any image/layer's

For now contains a dysfunctional image list.
app: activate GimpPopup's binding set in key_press()

not that of its subclass. Fixes selecting items with return/enter.
Bug 730980: GIMP enters an infinite loop loading a truncated xcf
app: chain up unconditionally gimp_container_entry_clear_items()

so the parent implementation can clear the item hash table.
app: GimpContainerTreeView: keep a reference on tree_view->model

during the lifetime of the widget. Leaving that up to the GtkTreeView
was working for mysterious reasons even during destruction of the
widget. It's safer and cleaner this way.
app: make gimp_container_view_remove_container() more robust

Don't special case on view_iface->model_is_tree and always run
gimp_container_view_remove_foreach(), also on the view's toplevel
container.  Run gimp_container_view_clear_items() anyway on the
toplevel as an optimization, but with a big comment. This makes all
views (on list *and* tree models) behave the same way, and makes
view_iface->model_is_tree practically obsolete, will remove it later.
app: implement picking any image or layer in GimpPickableButton/Popup
app: clean up some disabled code
app: allow to select channels in GimpPickablePopup