Added DOM spec documentation to Node, implemented Node.compareDocumentPosition

Node
* attributes no longer check for the type of node, but will return null
(this is now overridden in Element, which is the only type allowed to
have attributes)
+ implemented Node.compareDocumentPosition, which still needs a
thorough test
* added inline documentation directly from the DOM level 3 specification
Added DOM level 3 documentation to Attr
Added DOM level 3 documentation to Element
Added DOM level 3 documentation to CharacterData
Added DOM level 3 documentation to Text
Added documentation to Comment, moved CData to CDATASection

Comment
* added documentation to Comment

CDATASection
* renamed from CData
* properly extends from Text instead of CharacterData

SimpleFactory
* now utilizes CDATASection instead of CData
added missing helper
added helper to Text

Text
* as Text now brings its own properties, the helper object was needed
Added Simple.index method, implemented Node.insertBefore

Simple
+ added index method, which determines the actual position of the given
child Simple in the child list

Node
* implemented the insertBefore method
Node, fixed issue with removeChild, implemented replaceChild

Node
* removeChild now properly returns the removed child and throws a
DOMException 'NOT_FOUND_ERR' if the child to removed is not a child
* implemented replaceChild
removed console.log
implemented all required methods of CharacterData

CharacterData
* fixed data attribute workings (it referred to ‘value’ where ‘data’
was required
* implemented appendData
* implemented replaceData
* implemented insertData (utilizes replaceData)
* implemented deleteData (utilizes replaceData)
* implemented substringData
Started work on writing proper tests

+ added mocha as ‘devDependency’ (for testing)
+ added Makefile, so one can run ‘make test’
+ added very basic test.xml, which is actually xhtml 5