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.
* ok, will do
* if the file doesn't exist and I try to call File.write on it, I get an error...
* ok, will do