Fix #10120: Don't put tags more than once into XMP

This includes some rewrites of helper functions
noise profile: sony ilce-7 by per oestlund
noise profile: canon eos 700d
gphoto: only scan for devices when explicitly requested

over the years this has caused various issues in various situations,
sometimes even allowing darktable to not start because of lack of
a USB controller for example.

gphoto should never be put in a position where it can cause trouble
for users who are not using any of it's features.
wb_presets: nikon d5200 (thanks to martin juřen)
Add tagging to darkroom

... feel free to revert if it's not cool :)
ColorIn IOP: update comment about supported formats with support for embedded color profiles
Colorin IOP: deprecate "blue mapping"
lua: add a function to drop the thumbnail for an image

to be called to when an image is modified externally

note that there is no way to regenerate the thumbnail. The images to keep
in cache are under the GUI's responsability and it will do a better job at
figuring out who to keep
lua documentation : make documentation generation stable again
lua : fix an error in j2k handling
lua : restore the lost "read" and "write" attributes in documentation
lua : fix bug #10123 : crash when using presets with lua storages

This is due to the addition of versioning to storage parameters

lua currently always reports a version of 0
(which is fine since lua can't store storage parameters at this point)
noise profile: nikon d810
lua : reindent and add status line to lua sources
Merge pull request #680 from LebedevRI/iop-colorin-drop-blue-mapping

IOP ColorIn: deprecate blue mapping
Email Storage: if email client could not be started, report it in UI, not stderr
#10117: remove unnecessary early handling of potentially bad icc profiles, let lcms decide
#10117: cleanup remnants
#10110: fully setup our fallback profile