Create a new base class ShardingDataTransformCumulativeMetricsFieldNameProvider which has functions returning the field names for cumulative metrics fields which are shared by both resharding and global indexes. For fields which are logically shared by both, but have different field names (e.g. documentsCopied in resharding and keysWrittenFromScan in global indexes), those functions should be pure virtual.
ShardingDataTransformCumulativeMetrics should accept an instance of this class in its constructor and use it when reporting its fields. The existing field name constants should also be removed, where possible.
Of the existing fields, all are shared either directly or logically except for the following, which will be addressed by
- All state field names (i.e. those in the section "currentInSteps")