Fix 6946 stable6

Better isolation between user and group backends, necessary to fix #6946 

TODO:
[ ] check performance impact

It changes the Group API in a way that getDisplayNamesInGroup will not be respected anymore. It does not break any existing group backend. To my knowledge, there are only two group backends which made use of it anyway: database and group_ldap

This change requires, that searching in user details is solely done by the user backend – this is what it is for. To keep the API, retrieved users from groups are matched against the search (if a search string is given, e.g. sharing) on all users. This can have a performance impact and needs to be investigated prior to merge. 

In a OC 7/master version we could extend the API accordingly. This PR aims for stable6 for now.

Replaces PR #7288 

Comments @icewind1991 @bantu @karlitschek