Remove lots of cruft from the default CPPFLAGS

This piece of code has been there since first git commit in 2008. It
refers to a similar bunch of code that modifies LDFLAGS, which has been
removed some time now. So lets remove this piece as well...
Indentation.
CF3_WITH_LIBRARY now takes into account previous *FLAGS

It is used for libxml2, which by defaults exists in a libxml2/
subdirectory inside include/. Thus, before calling the CF3_WITH_LIBRARY
macro, we set LIBXML2_CPPFLAGS according to the --with-libxml2 argument
together with the subdirectory prefix, and the macro is happily
detecting libxml2 like that.
CPPFLAGS now only include libutils directory. Yay!

So the last offenders modifying the environment CPPFLAGS were MYSQL,
POSTGRESQL, LIBXML2. They have been converted to have their own set of
blah_CPPFLAGS.

In addition, libxml2 includes were removed from within cf3.defs.h and
added to the source files that really need them.

As a result, cf-upgrade compilation line is at last free of dependencies:

gcc -DHAVE_CONFIG_H -I. -I../libutils   -std=gnu99  -pthread -g -O2 -g -Wall -Wno-pointer-sign -Werror=implicit-function-declaration -Wunused-parameter -g3 -O0  -MT cf-upgrade.o -MD -MP -MF .deps/cf-upgrade.Tpo -c -o cf-upgrade.o cf-upgrade.c
Statically link cfupgrade to libcompat.
Windows cf-upgrade: make re-execute command line construction more clear.
Fix order of includes.
Old autoconf does not deal well with unquoted EOLs in arguments.
Merge pull request #1850 from jimis/cfupgrade

Cleanups, including platform.h in cf-upgrade, and linking it to libcompat.