As part of this change we should modify the _configsvrCommitChunkMigration,
_configsvrCommitChunkSplit,
_configsvrCommitChunkMerge commands to include a timestamp at which the migration is considered prepared (this should be the latest in-memory clusterTime on the donor shard, as obtained through LogicalClock::get(opCtx)->getClusterTime()). The config server commands should thread-through this timestamp down to the catalog manager chunk operations, which is what should maintain the history array and perform cleanups if necessary.