Fix presenters and API entities exposing CI build metadata

Problem

Intrinsic data from ci_builds_metadata is curently exposed via API. We refer to this data directly as defined in Ci::BuildMetadata model. We need to be able to switch the source of this data via a feature flag and eventually expose the same data persisted in ci_builds.

Proposal

Fix presenters and API entities exposing CI build metadata. Leverage the methods moved to Metadatable to present a build object instead and let it delegate to the data source to use. Checkout the PoC Draft: PoC: split build metadata into `job_prot... (!193948 - closed) for how to approach this. There are TODO comments in the PoC describing the problem to fix.

The goal is to use the methods moved to Metadatable and not to present a Ci::BuildMetadata object but to present a Ci::Processable instead. By doing that we will automatically leverage the feature flag read_from_ci_job_prototypes that is used by Metadatable in Move getter/setter methods to `Ci::Metadatable`... (#552057 - closed)

Edited by 🤖 GitLab Bot 🤖