fix(ci): Docker Hub Branch-Tags aufräumen nach MR-Merge/Close
## Problem
Branch-Builds pushen Images mit `$CI_COMMIT_REF_SLUG` als Tag nach Docker Hub (Zeile 99 in `.gitlab-ci.yml`). Wenn der Branch gelöscht oder der MR geschlossen wird, bleiben diese Tags im Docker Hub bestehen.
Beispiele verwaister Tags:
- `strausmann/minecraft-bedrock-connect:fix-code-review-findings`
- `strausmann/minecraft-bedrock-connect:renovate-npm-11.x`
- `strausmann/minecraft-bedrock-connect:testing-docker-proxy`
## Lösung
Neuer CI-Job `docker_cleanup` der bei Branch-Löschung den zugehörigen Docker Hub Tag entfernt.
Docker Hub API: `DELETE https://hub.docker.com/v2/repositories/{namespace}/{repo}/tags/{tag}/`
## Akzeptanzkriterien
- [ ] CI-Job `docker_cleanup` triggered bei `pipeline: source == "push"` mit `CI_COMMIT_BEFORE_SHA == "0000..."` (Branch gelöscht)
- [ ] Alternativ: Scheduled Job der alle Tags gegen existierende Branches prüft
- [ ] Docker Hub Credentials als CI/CD Variable (`DOCKERHUB_TOKEN`)
- [ ] Protected Tags (`latest`, `2`, `2.*`, Semver-Tags) werden nie gelöscht
issue