Butler: provide API so that a task can define the output dataset type
Since we think many people will want to refactor to use this feature, it might be good to do this and DM-4180 at the same time so that they can do that refactor at the same time.
Estimating 6 story points, figuring that I'll be changing at least some packages to use daf_butler, and assuming some work chasing down random stuff like dependencies in scons files. Might not be as bad as 6 points tho.
This work has been overtaken by events now that Butler Gen 3 is daf_butler.