factoring of more error handling code, serious size reduction and more

* parser.c include/libxml/xmlerror.h: factoring of more
  error handling code, serious size reduction and more lisibility
  of the resulting code.
* parserInternals.c parser.c include/libxml/parserInternals.h
  include/libxml/parser.h: changing the way VC:Proper Group/PE Nesting
  checks are done, use a counter for entities. Entities where freed and
  reallocated at the same address failing the check.
* tree.c: avoid a warning
* result/valid/* result/VC/*: this slightly changes some validation
  error messages.
Daniel
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index 7a0eaea..2d725f5 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -68,6 +68,7 @@
     const xmlChar *encoding;          /* the encoding string for entity */
     const xmlChar *version;           /* the version string for entity */
     int standalone;                   /* Was that entity marked standalone */
+    int id;                           /* an unique identifier for the entity */
 };
 
 /**