libgimp: start integrating image export with GimpProcedureConfig
Add gimp_procedure_config_begin_export() and end_export() which are wrappers around begin_run() and end_run() and additionally pretty much completely manage GimpMetadata handling. A GimpProcedureConfig can provide boolean properties "save-exif", "save-xmp" etc. in order to have them automatically managed by begin_export() and end_export(). This also restores the feature of overriding the procedure's saved default values with export preferences, but not the values from the last export, like it used to be in 2.10. Move gimp_image_metadata_save_prepare() and save_finish() (which are now completely handled by GimpProcedureConfig) from libgimpui to libgimp, but keep their declarations in the libgimpui header. Not perfect, but not finished either. Also fix gimp_image_metadata_save_prepare() to set the affected GimpMetadataSaveFlags to 0 when the image has no metadata at all.
Showing with 729 additions and 467 deletions