Use -fno-strict-overflow throughout the build.

Builds of bison-generated files currently fail with:

index-parse.y: In function 'yyparse':
index-parse.c:1256:6: error: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Werror=strict-overflow]
     if (yyss + yystacksize - 1 <= yyssp)
        ^

This error only occurred on one machine, and it was unclear why.  It
turned out to be because the other build machines I use had:

  CFLAGS="-Wall" ./configure ...

whereas on the failing machine I was just using ./configure w/o CFLAGS.

This caused the compile flags of index-parse.c to be changed from:

  gcc -Wstrict-overflow ... index-parse.c

to:

  gcc -Wstrict-overflow -Wall ... index-parse.c

but since -Wstrict-overflow is short for -Wstrict-overflow=2, and
-Wall is short for -Wstrict-overflow=1, and since the error only
occurs at level >= 2, using CFLAGS="-Wall" was effectively turned off
the warning.

Anyway, I believe the optimizations that GCC does when
-fstrict-overflow is enabled to be dubious, frequently dangerous, and
useless.  They are only done because we want C99 to work on
architectures that don't exist in reality (and which even if they did
exist, libguestfs would probably not support).

The Linux kernel uses -fno-strict-overflow, and we should too, for the
same reasons.