revamped the elfgcchack.h format to cope with gcc4 change of aliasing

* doc/apibuild.py doc/elfgcchack.xsl: revamped the elfgcchack.h
  format to cope with gcc4 change of aliasing allowed scopes, had
  to add extra informations to doc/libxml2-api.xml to separate
  the header from the c module source.
* *.c: updated all c library files to add a #define bottom_xxx
  and reimport elfgcchack.h thereafter, and a bit of cleanups.
* doc//* testapi.c: regenerated when rebuilding the API
Daniel
diff --git a/xmlstring.c b/xmlstring.c
index 929f422..d73c49c 100644
--- a/xmlstring.c
+++ b/xmlstring.c
@@ -975,3 +975,6 @@
 
     return(xmlUTF8Strndup(utf, len));
 }
+
+#define bottom_xmlstring
+#include "elfgcchack.h"