applied patch from Malcolm Rowe to avoid namespace troubles on rollback

* parser.c: applied patch from Malcolm Rowe to avoid namespace
  troubles on rollback parsing of elements start #304761
* test/nsclean.xml result/noent/nsclean.xml result/nsclean.xml*:
  added it to the regression tests.
Daniel
diff --git a/parser.c b/parser.c
index b0d9f68..352ffa3 100644
--- a/parser.c
+++ b/parser.c
@@ -7535,6 +7535,7 @@
     int i, j, nbNs, attval;
     const xmlChar *base;
     unsigned long cur;
+    int nsNr = ctxt->nsNr;
 
     if (RAW != '<') return(NULL);
     NEXT1;
@@ -7555,6 +7556,8 @@
     nbdef = 0;
     nbNs = 0;
     attval = 0;
+    /* Forget any namespaces added during an earlier parse of this element. */
+    ctxt->nsNr = nsNr;
 
     localname = xmlParseQName(ctxt, &prefix);
     if (localname == NULL) {