Projects::BranchRule validations and enum config
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=535667)
</details>
<!--IssueSummary end-->
Convert the `Projects::BranchRule` class to an `ActiveRecord` class.
Add enum config for `rule_type`
Add validations for `name` (probably matching the ones for `ProtectedBranch`)
Associations for `project` and `group`
We need to update the `find` override. It should toggle between current behavior and AR behavior (`super`) when the feature flag is toggled.
issue