Project: datamanagement
Issue DM-6632: Make match and flag propagation more reusable
We have two bits of code for doing spatial matches and propagating flags: - {{PropagateVistFlagsTask}}: propagates flags from individual visit catalogs to coadd catalogs, and depends on a butler to do so (reasonably; it includes the smarts to load the appropriate catalogs, so it has to do I/O). - {{CalibrateTask.copyIcSourceFields}}: propagates fields from icSrc to src, but is only usable as part of {{CalibrateTask}}. Both of these should delegate at least some of their work to new class (possibly a Task) that manages the Schemas, SchemaMappers, and cross-matching necessary to do this work. This new class should be reusable without a butler and without constructing any higher-level tasks.
Story points: 4