Fixed DOCTYPE parsing to include internal DTD

The current XMLUnknown class cannot handle <!DOCTYPE ... > parsing when the DTS is provided internal to the XML document  ( i.e. contains <!ELEMENT>, <!ATTRIBUTE>, or <!ENTITY> elements ).    This is because the XMLUnknown endString is set to ">".

Rather than modifying the XMLUnknown class, I added a new XMLDtd class which handles the <!DOCTYPE> element correctly.   I was not sure if there was some other use for XMLUnknown and thus didn't want to mess with its inner workings.

The new XMLDtd class is based on the XMLUnknown class.  The only difference is the deepParse method.  In XMLDtd, it looks for the presence of an opening square bracket ( '[' ).  If found, it must find the matching closing bracket before finding endString ( '>' ).