Fixed an issue with the testharness detection regex

If testharness + testharness report script tags were on the same line,
the regex would greedily capture both, which would lead to a document
without the testharness loaded.
Remove unused/untested html parsers
Add XML parsing API support

This introduces a new property on the options parameters called parsingMode. This can be set to auto (currently interpreted as html), html or xml.

Depending on parsingMode we should parse the document differently and use XmlDocument instead of HTMLDocument.

Currently the only difference is that jsdom will automatically determine the used parser by looking at the parsingMode instead of implying xml parsing with a <?xml directive and htmlparser2 as the configured parser.
Automatically enter XML parsing mode in certain scenarios

Namely, when downloading the source from a URL that serves it with an XML content type, or when reading the source from a file whose filename ends in .xml or .xhtml.
Memoize query selector functions for big performance gains

This has a notable affect on accessors like ```a.href``` and ```document.links```
which normally walk the whole DOM tree with every access.  The memoization caches
the result of queries like ```Node.getElementsByTagName``` and
```Node.querySelectorAll```, and the cache is cleared whenever a lower segment
of the tree is modified.
Un-document level configuration

It's deprecated, so we shouldn't include it in the README. But it's still supported until we actually go and rip out the levels.
Document parsingMode
Version 1.0.0-pre.7
Going down the rabbits hole
Rebuild css rules on text node changes