Introduce converting steps in Import/Export feature
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=22593)
</details>
<!--IssueSummary end-->
## Description
GitLab Import/Export feature is great. You can import any GitLab projects which are compatible with targeting Import/Export version.
However, when we perform post-migrations (moving data from old structure to new structure), there is a race condition that data in old structure could be imported **after** migrations ran.
I think we need a converter to translate data from old structure to new structure.
## Proposal
when we implement post-migrations, we implement a converter too. This converter takes an effect at the beginning of post-migrations process, and redirect/remap the hashes from old structure to new strcture.
The advantages are
- We can block data in old structure. All data go into new structure directly.
- We don't need to bump Import/Export version when we ship post-migrations
- Once we bumped Import/Export version, we can remove the current converters as it's no longer need.
/cc @grzesiek @jameslopez @ayufan
issue