Fix raw parsing race condition

I think I have a simple fix for this. We get the initial dt_image_t from the database and then read the raw. The settings that come from the raw but not the database are not there at this point, so on first run we get a wrong image. On second run the dt_image_t has been updated and everything works well.

In the past we've papered over this by adding things to the db that have no business being there (e.g., raw_black and raw_maximum). Instead we can copy the correct dt_image_t contents into the pipeline at the same point we introduce the buffer itself into the pipe. Let the metadata flow together with the data.

If this is indeed the right fix we should be able to drop a bunch of fields from the "images" table and make the image_cache a little simpler.
it seems i need to put these two back or else switching film strip between raw and jpg files will do random things to the gui (modules disappearing, more modules empty, module header still there but body isn't, sometimes whole right panel empty..).

if i put them back and switch back and forth between raw and jpg for a few times, i'll get

(darktable:9657): GLib-CRITICAL **: Source ID 2026 was not found when attempting to remove it

(with random ID numbers) and dt will freeze.