do not need sys/disk.h
correct issetugid sense as spotted by Stijn van Drongelen.
Substantially expand the conditional to reduce potential for error.
If you want <sys/queue.h>, you need to include it.  Don't assume that
<sys/sysctl.h> will pull in the universe (I am working on breaking that
assumption in a gentle fashion)
Don't ridiculously assume that sysctl.h will (through a set of extremely
unfortunate circumstances) pull machine/cpufunc.h