add missing headers for misc funcs and types

--- a/chkshsgr.c
+++ b/chkshsgr.c
@@ -1,10 +1,11 @@
 /* Public domain. */
 
 #include <unistd.h>
+#include <grp.h>
 
 int main()
 {
-  short x[4];
+  gid_t x[4];
 
   x[0] = x[1] = 0;
   if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1);
--- a/pathexec_run.c
+++ b/pathexec_run.c
@@ -1,5 +1,6 @@
 /* Public domain. */
 
+#include <unistd.h>
 #include "error.h"
 #include "stralloc.h"
 #include "str.h"
--- a/prot.c
+++ b/prot.c
@@ -1,12 +1,15 @@
 /* Public domain. */
 
+#include <unistd.h>
+#include <grp.h>
+
 #include "hasshsgr.h"
 #include "prot.h"
 
 int prot_gid(int gid)
 {
 #ifdef HASSHORTSETGROUPS
-  short x[2];
+  gid_t x[2];
   x[0] = gid; x[1] = 73; /* catch errors */
   if (setgroups(1,x) == -1) return -1;
 #else
--- a/seek_set.c
+++ b/seek_set.c
@@ -1,5 +1,6 @@
 /* Public domain. */
 
+#include <unistd.h>
 #include <sys/types.h>
 #include "seek.h"
 
