Create protected branches and protected tags that match with regex
<!--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=503652) </details> <!--IssueSummary end--> - Add a column to `protected_branches` and `protected_tags` to indicate that it will use regex to match against ref names - Change protected ref logic to consider `name` as a regex based on the new column - Update controller and rest endpoints to accept a parameter for to create Ensure that RE2 operators can be escaped. e.g. For example a branch like `1.{2}2` could be a problem (see [git-check-ref-format](https://git-scm.com/docs/git-check-ref-format#_description))
issue