(PUP-2086) Allow purging of groups with filters

Implementing unless_gid and unless_system_group as parameters of the resources type to allow filtering when purging groups
The behaviour when a combination of only_gid, unless_gid and unless_system_group is as follows:

   only_gid && unless_gid raises error:  Theses to parameters conflict and it is an error to use them both
   only_gid && unless_system_group:  If the only_gid option contains a GID that is lower than the GID specified by unless_system_group (default 500) then an error is raised because it is a direct conflict. If there is no overlap, then no error is raised nor is the unless_system_group evaluated as the system GIDs are outside the only_gid selection anyway ant thus would not be purged.
   unless_gid && unless_system_group: These are complimentary as they both exclude GIDs from being purged.  Unless_gid is first evaluated and then if that doesnt disqualify the GID from purging, unless_system_group is evaluated, if that still does not disqualify the GID from purging, the GID is purged.