Eliminate some compiler warnings on BSD
Include <strings.h> in addition to <string.h>. According to the POSIX specification the prototypes for strcasecmp() and strncasecmp() are declared in <strings.h>. On some systems they are also declared in <string.h> for compatibility reasons but we shouldn't rely on that. Define _POSIX_C_SOURCE only when it's required to do so. Some BSD variants doesn't declare certain function prototypes otherwise.