Allow arbitrary metadata to be specified in InputDataset and propegated
Right now, the only thing that distinguishes "experiments" is the name of the InputDataset. However, if we end up with a large database of those, the names would have to become very long to describe the differences. Instead, it would be better to just allow other metadata than the name to be stored. And like name, it would be serialized in the MetricStore metadata, and propegated to reports. That way in the report, we could make a nice table showing the detailed differences.
InputDataset(
name="thing",
metadata=dict(
description="stuff", subarray="alpha", zenith=60, prod="5b", software="ctapipe"
),
...
)