Add push/merge/approvals whitelist params so an admin can allow a
specific user (e.g. a release bot) to push to an otherwise locked
branch:
- enable_push_whitelist / push_whitelist_usernames
- enable_merge_whitelist / merge_whitelist_usernames
- enable_approvals_whitelist / approvals_whitelist_usernames
Username lists are comma-separated and replace the existing list.
PATCH null-safety extends to them: an unpassed list serializes as null
(leave-unchanged), never [] (which would wipe an existing whitelist).
Covered by TestEditBranchProtectionFn_PushWhitelistRoundTrip.
Update the co-located branch-protection showboat demo and link it from
demos/README.md (new "Branch protection (governance)" section).