Merge pull request #1847 from jimis/automake_sanitisation-rebase

Automake sanitisation rebased
Simplify Makefile so that it does not create cf-upgrade-*.o objects.

The side-effect is that autoconf complains that we changed user-defined
variables. That is not true, because CFLAGS, CPPFLAGS, LDFLAGS are
defined by our configure.ac, because we blatantly ignore recommendations
at:

http://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html

The proper thing would be to empty the AM_CFLAGS etc options. But we
first need to refactor our configure.ac to not replace CFLAGS, and then
adjust the rest of Makefiles,
Ugly code has ugly bug.
Merge pull request #1848 from jimis/master

Windows cf-upgrade self-exec fix.
Windows: make re-execute command line construction more clear.
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.
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