new dictionary module to keep a single instance of the names used by the

* dict.c include/libxml/dict.h Makefile.am include/libxml/Makefile.am:
  new dictionary module to keep a single instance of the names used
  by the parser
* DOCBparser.c HTMLparser.c parser.c parserInternals.c valid.c:
  switched all parsers to use the dictionary internally
* include/libxml/HTMLparser.h include/libxml/parser.h
  include/libxml/parserInternals.h include/libxml/valid.h:
  Some of the interfaces changed as a result to receive or return
  "const xmlChar *" instead of "xmlChar *", this is either
  insignificant from an user point of view or when the returning
  value changed, those function are really parser internal methods
  that no user code should really change
* doc/libxml2-api.xml doc/html/*: the API interface changed and
  the docs were regenerated
Daniel
diff --git a/valid.c b/valid.c
index 9a261f1..ace4b28 100644
--- a/valid.c
+++ b/valid.c
@@ -719,7 +719,7 @@
  * Returns NULL if not, otherwise the new element content structure
  */
 xmlElementContentPtr
-xmlNewElementContent(xmlChar *name, xmlElementContentType type) {
+xmlNewElementContent(const xmlChar *name, xmlElementContentType type) {
     xmlElementContentPtr ret;
 
     switch(type) {
@@ -1380,7 +1380,7 @@
  *                of error.
  */
 xmlEnumerationPtr
-xmlCreateEnumeration(xmlChar *name) {
+xmlCreateEnumeration(const xmlChar *name) {
     xmlEnumerationPtr ret;
 
     ret = (xmlEnumerationPtr) xmlMalloc(sizeof(xmlEnumeration));