Add user/group support for OpenBSD and fix a Darwin user bug

The first commit prevents the removal of the `_format_info` function on Darwin, which is necessary for the module to work at all.

The second one adds support for managing users and groups on OpenBSD - it uses the same group/user tools as Linux, and needs the same `shadow` workarounds as FreeBSD.