AutoFlow PoC: configurable automation for issue status updates
## Iteration 1
~backend / infrastructure
Add a global hardcoded configuration that automates the following tasks:
- **trigger:** issue milestone is set to anything but `Backlog` -> **action**: set issue label `ready for development`
- **trigger:** issue receives a related MR -> **action**: set issue label `in progress`
- **trigger:** issue's related merge request gets a reviewer -> **action**: set issue label `in review`
- **trigger:** issue's related merge request is merged -> **action**: set issue label `verification`, add an assignee `QA`
Reuse https://gitlab.com/gitlab-org/gitlab/-/merge_requests/136696 and https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent/-/merge_requests/1173 as a foundation
## Iteration 2
~frontend Add a `Workflow automation` page in global or project settings. At this point, the page should contain a content editor input field where the user can edit an autoflow script (`flow.py`) and save it.
~backend Create an API that can:
- send the contents of `flow.py` to the frontend;
- receive the requests with updated contents and store it back to the `flow.py`
Potentially we could reuse the Editor API to commit the changes to the repository. This would reduce or even fully eliminate the backend workload
### Iteration 3
~frontend Create a visual builder with a list of triggers and actions
| Triggers | Actions |
| ------ | ------ |
|  |  |
~backend / ~frontend Implement a "translation" from the visual blocks to autoflow script. Here we can either let frontend send the JSON file generated from visual builder and let backend "translate" it to script, or perform a translation directly on the frontend for now and send the script as a (encoded?) string.
epic