Backend: Store Gitlab Contribution Namespaces in a namespace settings table

We used an ops feature flag to enable which projects should get the gitlab contribution cost factor. This is product data and not operational really so we should use a proper database table/column. It is possible the cost factor is a temporary solution so we did not immediately implement this.

Related MR: !89742 (merged)

Related Issue: #365447 (closed)

@fabiopitino said:

We could definitely create a table/model Ci::Minutes::Namespace that would hold settings like grant_forks_oss_cost_factor: true/false but also could eventually contain things like the CI minutes monthly limit (currently in namespaces.shared_runners_minutes_limit), etc. Then we could greatly simplify the condition.

Edited by Mark Nuzzo