Introduce gitlab_migration_version to ES documents to allow for calculated field migrations
Problem
Work started in !46719 (closed)
Certain types of migrations for fields in Elasticsearch will require us to recalculate a certain field and update the document. In any large migration like this we will want some way to handle errors along the way and retry where we left off. But if we're just changing a single field from one format to another it may not be straightforward to actually know which documents were successfully migrated and which were not.
Solution
We add a gitlab_migration_version to every single document we index in ApplicationInstanceProxy#generic_attributes which will always be set to the ID of the last completed Elasticsearch migration. This would allow us to update it as we backfill all documents to a new format.