Check if gid exists before adding group in mac_group module

Groups ids are unique on macs, so we should check in ```mac_group.add``` if the gid to be added is unique. 

I also wrote some new unit tests and an associate integration test to go along with the mac_user changes.