(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).
This pushes knowledge of OpenBSD deep into an abstract provider, when all we're doing is changing which flag is used for creating a group. At https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/user/useradd.rb#L16 we specify the behavior of '-G'; can we create a new OpenBSD provider that inherits from that class that just overrides that one flag?