build BUGFIX fix BSD builds, again, and cleanup

- just define _GNU_SOURCE and include sys/cdefs.h this gets everything
set the right way (no need to define _POSIX_C_SOURCE, etc).
- BSD requires more includes to get to sockaddr and AF_*
diff --git a/src/diff.c b/src/diff.c
index dc2a462..2c98eaa 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -11,8 +11,8 @@
  *
  *     https://opensource.org/licenses/BSD-3-Clause
  */
-#define _POSIX_C_SOURCE 200809L /* strdup */
-#define _GNU_SOURCE /* asprintf */
+#define _GNU_SOURCE /* asprintf, strdup */
+#include <sys/cdefs.h>
 
 #include "diff.h"