Fix Version/s: None
Some of the time we want CHAINED collections to point to other CHAINED collections, so the definition of the child one can change and the parent's content will be updated automatically. But when we define the CHAINED collection that combines a processing run and its inputs, it'd be better to flatten out any nested chains instead, because our goal is to capture the inputs to the output collection as of the time it was produced. We can't fully guarantee that without using real provenance, but a flattened chain is much better (it at least correctly handles the case of someone updating the recommended calibration collection).
On this ticket, add an option to Registry.setCollectionChain to do that automatically, and update ctrl_mpexec and the Gen2 repo conversion code in obs_base to use it.
This should be a small and hopefully straightforward review, but with changes in three packages: