Refactors code.
Upates parser::parse_exclamation() which parses cdata, comments and doctype.
Adds more parser tests.