one more IsEmptyElement crazyness, that time in external parsed entities

* parser.c: one more IsEmptyElement crazyness, that time in
  external parsed entities if substitution is asked.
* python/tests/reader3.py: added a specific test.
Daniel
diff --git a/parser.c b/parser.c
index 54159d3..cb2be96 100644
--- a/parser.c
+++ b/parser.c
@@ -5599,10 +5599,13 @@
 			cur = ent->children;
 			while (cur != NULL) {
 			    new = xmlCopyNode(cur, 1);
-			    if (firstChild == NULL){
-			      firstChild = new;
+			    if (new != NULL) {
+				new->_private = cur->_private;
+				if (firstChild == NULL){
+				    firstChild = new;
+				}
+				xmlAddChild(ctxt->node, new);
 			    }
-			    xmlAddChild(ctxt->node, new);
 			    if (cur == ent->last)
 				break;
 			    cur = cur->next;