Add support for group-based access control. This patch adds support for a group file ".git/info/group" containing a mapping from group names to member users. Note that the first listed member of a group gets full access and the following basic access. Users not listed get no access. If multiple users need full access, this can be achieved by having multiple entries for the group. Also cleans up the access level handling code somewhat by introducing an enum AccessLevel.