[POC] Approval rules proposed architecture

Create a POC of the new architecture for approval rules described in Rearchitecting Approval Rules (&12955).

The POC should allow a user to create a new project level approval rules and merge request level approval rules with the new architecture which will be enforced on an MR.

Goals:

  1. Confirm that the proposed inheritance model can replace the existing one.
  2. Confirm the composition of new models.
  3. Investigate how the new structure will interact with ApprovalState, Approvable, ApprovalWrapped Rules.
  4. Surface any as yet unknown blockers.

The result of this POC should inform the next steps in the project.

Edited by Gavin Hinfey