Only build and use BSD setenv implementation where POSIX setenv() is not available.

This makes the compilation of the `bsd_setenv`, `bsd_putenv`, and `bsd_unsetenv` functions in `compat.c` conditional on the environment not supplying the POSIX `setenv`.

The compatibility functions do not build within shared libraries on OS X, because they require direct access to `environ` (see https://github.com/BitchX/BitchX/pull/8).  OS X does supply a POSIX `setenv`, so this fixes building of the plugins that link to `compat.c`.