Fixed attribute handling during parse.

This pull request addresses the following problems:
* _ is a valid character that the attribute names can start with (http://www.xml.com/axml/target.html#NT-Name) and thus it is not desirable to treat it as a special case (like text, comment or cdata with # and $). I removed that case from parse implementation and made sure that the tests are updated.
* Fixed a bug where special field (text, comment, cdata) is found before all the attributes are handled and consequently improperly parsed (test case 7).
* Fixed a bug where a nesting is found before all the attributes are handled and consequently improperly parsed (test case 8).