**Describe what's wrong**

`system.parts` ->  `modification_time` was not correct after move part operation.

**Does it reproduce on recent release?**

The latest release: v21.9.4.35-stable

**How to reproduce**
* Clickhouse version: v21.9.4.35-stable
* Create a MergeTree family table.
```sql
CREATE TABLE t
(
  a UInt32,
  b Date
)
ENGINE = MergeTree()
PARTITION BY b
ORDER BY b
```
* Write some data to table `t`
* Move a data part of `t` to another disk.
```sql
ALTER TABLE t MOVE PART 'part name' TO DISK 'some disk'
```
* Select part info from `system.parts`.
```sql
SELECT modification_time FROM system.parts WHERE table = 't' AND name = 'part name'
```
* We got this

|modification_time|
|:-:|
|1970-01-01 00:00:00|

**Expected behavior**
We should get the correct `modification_time` but we got '1970-01-01 00:00:00', seems that the `modification_time` had not been initialized after move part operation.
to_insert->second.add(part);
        }
    }
    for (auto && move : need_to_move)
    {
        auto min_volume_index = policy->getVolumeIndexByDisk(move.first) + 1;
        for (auto && part : move.second.getAccumulatedParts())
        {
            auto reservation = policy->reserve(part->getBytesOnDisk(), min_volume_index);
            if (!reservation)
            {
                
                
                
                break;
            }
            parts_to_move.emplace_back(part, std::move(reservation));
            ++parts_to_move_by_policy_rules;
            parts_to_move_total_size_bytes += part->getBytesOnDisk();
        }
    }
    if (!parts_to_move.empty())
    {
        LOG_DEBUG(log, "Selected {} parts to move according to storage policy rules and {} parts according to TTL rules, {} total", parts_to_move_by_policy_rules, parts_to_move_by_ttl_rules, ReadableSize(parts_to_move_total_size_bytes));
        return true;
    }
    else
        return false;
}
MergeTreeData::DataPartPtr MergeTreePartsMover::clonePart(const MergeTreeMoveEntry & moving_part) const