Ensure that HAVE_STRNDUP is defined in C, generate config.h in build tree

HAVE_STRNDUP wasn't being defined in config.h, so missing/strndup.h would *always* be included, preventing ettercap from building on linux.

Also included within this commit is a change that generates config.h within the build tree, rather than the source tree. This was annoying me because I run multiple build off a single source directory, and the generated files would conflict. It was bad form, anyway :P