Use proper struct sockpeercred for SO_PEERCRED

getsockopt(2) documents this;  ucred is wrong ("cr_" member prefix, no pid).

Index: src/nix-daemon/nix-daemon.cc
--- src/nix-daemon/nix-daemon.cc.orig
+++ src/nix-daemon/nix-daemon.cc
@@ -901,7 +901,11 @@ static PeerInfo getPeerInfo(int remote)
 
 #if defined(SO_PEERCRED)
 
+#if defined(__OpenBSD__)
+    struct sockpeercred cred;
+#else
     ucred cred;
+#endif
     socklen_t credLen = sizeof(cred);
     if (getsockopt(remote, SOL_SOCKET, SO_PEERCRED, &cred, &credLen) == -1)
         throw SysError("getting peer credentials");
