Rename various "internal" variables and functions and make non-static so other
internal libc source files can use these (including getgroupmembership(3)).
Be more consistent in the API that the __grscan_<source>() methods use.
In __grscan_compat() support an optional custom 'search' function used when a
"+" lookup is required. Normally this will be getgrent() from group_compat,
but getgroupmembership(3) will use a tailored compat search routine for
efficiency.