implemented Node:insertBefore

Read CONTRIBUTING.md, fiddled about with git (usually I use http://fossil-scm.org), rebased into single commit.
Note that setting ```ownerDocument = self``` in ```Document:create...``` is vital for appendChild to work properly, too. But I did not want to split out that minor tweak to a separate branch.