Add union function for format sets
This was originally part of !4055 but pulling it out into its own MR to land separately since there is some interest. For now there are no usages in-tree but it's meant to be used for unioning format sets for two GPUs to advertise scanout modifiers.