Two changes for a more robust user.present state

Two changes I found necessary:
1. In my opinion, requiring a user to be present and belong to a group should validate to true whether the group is the default group or not.
If I happen to specify the default group explicitly by name (not gid), then it should also be removed from wanted_groups, as it is already fulfilled by being the default group.

2. If the state declaration does not require GECOS info, it should not be set to empty strings, but be allowed to remain in any state it is currently in.