Added tests for document.importNode, simplified document.adoptNode

test/document.js
+ added tests for document.importNode (both deep and shallow)

lib/dom/document.js
* simplified the inner mechanics of adoptNode (skipping unnecessary variable declaration)
small optimizations, added tests

lib/dom/documents
* simplified document.adoptNode a bit further

test/document.js
+ added more adoptNode tests to cover all flows
+ added tests for document.getElementById

test/processing-instruction.js
* renamed 'attachment' tests

test/files/basic.xml
+ added id
more code coverage, small fixes

lib/dom/element.js
* fixed issue where setting a new value to an existing attribute would create a new attribute with the same name
* changed removeAttribute to return noting
* fixed hasAttribute to use the correct collection

lib/dom/namednodemap.js
* simplified removeNamedItem method

lib/dom/test.js
* fixed issue where the offset was off for replaceWholeText

test/document.js
+ added test for document nomalizeDocument, namespaceURI, lastChild
+ added additional tests for attributes
+ added additional tests for replaceWholeText