(PUP-3605) use correct usermod flag on OpenBSD for group management

this allows 'membership => inclusive' to remove groups if needed as
'-G' only appends on OpenBSD and doesn't set.

The spec test is slightly unrelated in that it ensures the creation still uses `-G`, but currently there are no tests available for `objectadd.rb` (should be added, but it's out of scope for this PR).
Here's one approach:

```ruby
def modifycmd(param, value)
  cmd = super
  if param == :groups
    idx = cmd.index('-G')
    cmd[idx] = '-S'
  end
  cmd
end
```

Alternately, you could extract an allowdupe function?

```ruby
def allowdupe?
  @resource.allowdupe? && ((param == :uid) || (param == :gid and self.class.name == :groupadd))
end

def modifycmd(param, value)
  if param == :groups
    cmd = [command(:modify), '-S', value]
    cmd << '-o' if allowdupe?
    cmd << @resource[:name]
  else
    super
  end
end
```