CI storage optimization - Phase 2: write to new destinations
## Overview
This epic focuses on implementing the capability to write CI build metadata to new storage destinations.
## Rollout strategy
In order to ship this refactoring we need 3 feature flags:
1. a feature flag that enables writing to `ci_job_definitions`
1. With this enabled, we would still write to `ci_builds_metadata` so that we can revert the feature flag without issues.
2. a feature flag that switches which data source to take priority when reading data
1. if enabled: we prioritize definitions/builds over metadata. Metadata is the fallback.
2. if disabled: we read from metadata only.
3. a feature flag that stops writing to `p_ci_builds_metadata` this is non reversible and we need to do this only when we ensure we are not reading data for new jobs from metadata (feature flag above).
1. The only way to revert the effects of this feature flag would be a data migration to copy data from definitions/builds back into metadata
epic