batches: add mutation to set the UI publication state when applying a batch spec
Created by: LawnGnome
This is part 4 of #18277 (closed). (Next up is putting a UI on top of this.)
This adds an optional input parameter to applyBatchChange()
that provides the initial UI publication state for some or all of the changeset specs attached to the batch spec. About two thirds of this diff is tests: there's some overlap between the new resolver tests and the new unit tests for the service option type, but it felt important to test at both layers.