Reorganize the new tests.

"living" instead of "whatwg"; split into "living-dom" and "living-html"; separate out the tests that were starting to pile up in living/core.
Overhaul jsdom.env initialization.

See https://github.com/tmpvar/jsdom/wiki/PR-792 for details.
Document new initialization lifecycle options from #792.
Rewrite the introductions to jsdom.env/jsdom.jsdom.
Remove `document.createWindow` function.

It only exists for backward-compat, and this is a big compat-breaking release.
Remove `jsdom.html`.

It is doing the job that `jsdom.jsdom` should be doing.
Remove `jsdom.version`.

Just use `require("jsdom/package.json").version` instead, like you would for every other Node package.
Hide `level` setting better.

It is now a config option, not an important argument. This changes the signature of `jsdom.jsdom`, and removes `jsdom.level`.
Better handling of missing <html>/<body>/<head>.

This still isn't the actual HTML parser algorithm; for that we'll need a better parser, that correctly creates those elements when they are missing. But now we make a much better attempt to ensure the <html><head></head><body></body></html> structure.

You can also now pass an empty string to `jsdom.env` and it will create an empty HTML document.
Stop exporting more internal APIs.

Removes `jsdom.dom`, `jsdom.createWindow`, `jsdom.browserAugmentation`, and `jsdom.windowAugmentation`.
Add easy method to execute the w3c web platform tests
Add test to ensure svg compatibility

Up until now when provided an SVG document, jsdom.html always wrapped
the content in a <html><body> construct. This should not happen in xml
documents however.
Fix XML documents in jsdom

If a XML document is detected, don't wrap it in HTML tags.

Fixes #779.
Add test for appending scripts to svg doc
Fix null pointer error with svg documents

This fixes the value documentElement returns when the document is an svg
document (or any other kind of xml document).

jsdom isn't really well equipped to handle non-html documents though.
While the script gets appended, it won't get loaded. To resolve that I
ventured deep into DOM land, however I don't have any clue how this is
supposed to work.
Add missing window.close to tests
Use parse5 instead of htmlparser2 as default
Use case insensitive xml matching
Use htmlparser2 for xml documents
Throw error if xml is given with parse5 as parser