support X-Trans sensor raw files

X-Trans specific changes:

- use RawSpeed to read RAF files
- downsampling for fast display
- interpolation: bilinear, VNG, and modified AHD (aka Markesteijn), all adapted from dcraw; these operate on floats and use OpenMP
- highlights, hotpixels, invert, rawdenoise, temperature handle X-Trans
- disable cacorrect for X-Trans
- white balance presets and basecurve for X100S
- cameras.xml and adobe_coeff.c entries X-Series cameras
- documentation updates
- dngmeta.sh handles X-Trans

None of these changes should alter performance for users of Bayer sensors. The changes have been tested on Bayer and X-Trans matrix raws as well LDR files.

The code in this pull request doesn't:

- handle "dynamic range" feature on X-Series cameras
- implement SSE/OpenCL optimizations
- implement cacorrect for X-Trans sensors
- include white balance data and basecurves for X-Series cameras besides X100S

There is generally one commit for each major change. For the VNG/Markesteijn demosaic code, one commit imports/wraps code from dcraw, then another modifies this code to use floats/OpenMP and otherwise make it more specific to darktable.

This pull request closes #9951 and fixes #9388.

If it becomes necessary to update to the latest LibRaw, see separate branch libraw-0.16 (https://github.com/dtorop/darktable/tree/libraw-0.16). This pull request for the "xtrans2" branch keeps the extant LibRaw 0.14.7 (with the addition of a small patch to not break the temperature iop for the X-Pro1) so as not to add another LibRaw dependency.
Good question. The wavelet denoise algorithm is originally from dcraw, which keeps the same coeffs for Bayer or X-Trans. The coeffs are used per channel in wavelet/hat-transformed space, as factored by threshold. The worst I can see here is that threshold parameter will have slightly different meaning in the x-trans case. Hard to see this from observation so far. Will look into this more.