Don't create protected branch changes audit events when there is no change
## Problem to solve
Right now audit events are created to whenever certain APIs are
called. This is great for maintaining visibility whenever actions
take place. However, it means that audit events are always created,
even when no change has occurred. This can cause the audit log to be
filled with events that aren't meaningful. See the screenshot on the [epic](https://gitlab.com/groups/gitlab-org/-/epics/8547)
for an example where no actual changed occurred, yet an event was
created.
The audit event located in the
[`EE::Audit::ProtectedBranchesChangesAuditor`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/audit/protected_branches_changes_auditor.rb) might exhibit this
behavior
<a id="orgfd90923"></a>
## Proposal
When an audit event is about to be created, check that there actually
was a change. If there was, create the event if normal. However, if no
change actually occurred, do not create an audit event.
- [x] add a spec for [`EE::Audit::ProtectedBranchesChangesAuditor`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/audit/protected_branches_changes_auditor.rb) to check against the described behavior
- [ ] if the spec fails, make it pass
issue