Nouveau improve format modifiers
This series pulls in the proposed DRM_FORMAT_MOD_NVIDIA_BLOCK_LINEAR_2D() format modifier macro and wires it up in the nouveau nvc0 driver. In doing so, it improves the existing format modifier code to behave more like other format-modifier-capable drivers, and is written in such a way that it should be easier to port to nv50-class and future turing-class drivers as well.
Modifiers supporting import/export of compressed surfaces are not included in this series. Once the general approach here is agreed upon, I can send out a follow-on series adding those as well.
This MR contains the general gallium/dri cleanup MR !3723 (merged). I'm assuming that will be reviewed separately and merged first, at which point I'll rebase, but either way is fine with me.