Make Gitlab::GitAccess more extensible for EE
It's very likely to cause conflicts in EE with lib/gitlab/git_access.rb
if we changed anything there, and here's an example in !7383 (merged) which was resolved in https://gitlab.com/gitlab-org/gitlab-ee/commit/474e170dc98e5045ebd58ad1193211de4cf21b29
I can't even confidently say that this is perfectly resolved, especially for Gitlab::GitAccess#check_change_access
because EE made some changes in the method by introducing a local variable and update the variable in a loop.
We should make this more extensible so that it's obvious how to resolve the conflicts, without comparing the code side by side.
For example, it's very clear that GeoNodeKey
and GIT_ANNEX_COMMANDS
are both EE only, and we should move them into their own methods rather than inserting checks into random methods.