Add port and protocol to HTMLAnchorElement.
Make <input> not have a type attribute by default.

The type *property* is still exposed and defaults to "text", but the *attribute* does not exist unless it's present in the HTML. This matches browser behavior.
Fix an incorrect description of the assertion.
Fix an erroneous assertion description.
Add a try catch statement to prevent the test suite from dying silently.
Move `load` test helper into util.js.
Remove an erroneous setAttributeNS call.

This erroneous call should have made the test named documentimportnode14 fail but a bug in the core.js code (in the handling of namespaces) made the test successful. (In brief: documentimportnode14 checks that an attribute node which is created for a default value is not copied in an import operation. However, the setAttributeNS would replace the attribute node created for a default value with an attribute node created because a value was explicitly set, thereby violating the precondition upon which the test is based.)
*AttributeNS now treat empty namespaces as no namespace.
Support proper attribute ordering semantics.

As specified by http://dom.spec.whatwg.org.
Version 0.9.0
Implement document.cookie more properly.

Supports multiple cookies, but not options like path, max-age, and so on.
Fix broken cookie tests, oops.

I tried to switch from `;` to `; ` (i.e. adding a space), but the code was not ready for that.
merge upstream/master