Add support for custom roles on group level

Right now, custom roles abilities are basically supported only on project level.

For a user we have methods with project argument (such as read_code_for(project) which we would need to change.

We also need to change Preloaders::UserMemberRolesInProjectsPreloader to accept also group(s) argument or to create a new preloader specific for groups.