_GNU_SOURCE added to CMakefile

Solve the issue where cmake finds strcasestr and defines
HAVE_STRECASETR and then the compiler complains about the
`implicit declaration of function ‘strcasestr’` in
*libchula/test/missing_sysfuncs_test.c*.

The reason for this is that the function declaration is conditioned to
*__USE_GNU* in *string.h*.

This commit's approach is to add the _GNU_SOURCE to the definitions in
the CMakefile.

By doing so we got the compiler to also use GNU's version of *strerror_r*
instead of the Posix version it was using before.
With GNU's version we got a warning in *libchula/util.c* in function
*chula_strerror_r* complainint about *assignment makes integer from*
*pointer without a cast*
So we changed the conditional compilation from `#ifdef HAVE_STRERROR_R`
to `#if defined(HAVE_STRERROR_R) && !defined(_GNU_SOURCE)`