add service provider for OpenBSD

Adds a service provider for OpenBSD. This was split off of another pull request: #2177. This initial commit has the proposed logic in place. I copied the tests from the FreeBSD provider and fixed them, but that's not good enough--the tests don't yet cover what they need to. I'll be taking another pass at them, but I didn't want to wait on that to get the discussion started on the rest of the code.
No, I'm going to rip it out. I think this provider will work fine without it for the most common use cases. If I change my mind later, I'll file a new PR that builds on top of this one. Stay tuned for the update with this (the 'afters' idea) ripped out.