storage : add "self" parameter to a couple of methods

needed by lua to use the same C function for multiple storages
signal : add a signal before export is started

This signal has one parameter : a glist of the imgid to be exported
This is used by lua to have callbacks
signal : add a signal after processing but before the storage uses the new image

this is used by lua to be able to tweak the exported image before the storage moves it to its final place
imageio : allow to find the index from the format or storage
signal : new signal for when a new storage is added

needed for lua because storages can be added after the GUI is built
storage : add a specific function to add a storage

that function will add it to the list and send the proper signal.
it will NOT initialise the storage structure.

This is needed by lua because lua will add storages after the initial
build of the storage list
colorlabels : use a table of names instead of a switch case.

lua can use the table directly to handle the enum
dt_control_export : pass the list of images to export instead of always using the selection
styles : move the calls to dt_control_log out of the core and into the UI layers
Remember spot size.

Fixes #9367.
Remember last circle mask radius.
Initialize the source only for DT_MASKS_CLONE.

It is not used for circle masks.
Merge branch 'spot-size'

* spot-size:
  Initialize the source only for DT_MASKS_CLONE.
  Remember last circle mask radius.
  Remember spot size.
blending: fix blend mode vividlight for NaNs
Merge branch 'master' of ssh://github.com/darktable-org/darktable
Merge remote-tracking branch 'origin/lua_review'
correct a keystone rounding bug
ES_translation: 11 fuzzy translations, 12 untranslated messages. solved.
[l10n] Swedish update: 3 new strings, 3 fuzzies and an extra correction.
spots : fix infinite loop in some cases