Faster lengthFromProperties implementation
Version 1.4.1
Update git submodules on `npm install` (closes #977)
Clarify console.error test description
Add missing window.console methods
Use a real array for Node.prototype._childNodes

This change is a very big performance improvement because it avoids recalculating the "length" over and over.
Calling array methods on an real array is probably a lot faster too.
Node.prototype.childNodes still returns a live NodeList. This NodeList is lazily created to avoid defineProperty (which is very slow) during element construction
Change various API and internal methods to use _childNodes array
Use lastIndexOf instead of indexOf in Node.prototype.removeChild

The fastest method to remove all children of an element is to loop through all its childNodes in reverse,
because this avoids renumbering the array.
Using lastIndexOf makes this removing all children slightly faster: O(n) instead of O(n^2)
Use pretest, not postinstall, for submodule updates

When users install the package, there is no git stuff for them to submodule update. It's only for us developing the package.
Version 1.5.0
Update submodules on Travis
Add description of `config.headers`
Removed a lot of unused requires
Refactor DOMWindow into its own file
Rename DOMWindow to Window
Moved lots of properties to level1

This is to reduce monkey patching these properties afterwards.

If we need an object, we should define it in a single file, not
distribute its code over 5.
Move nodeName to Element prototype
Fix casing issues in level1 tests
Remove horrible tests from a bygone era
Remove tests which fail due to DTD checks