Implemented Node:appendChild

Hi Craig,
I re-implemented appendChild along your lines of thinking.
The implementation is much simpler. :-)
Please review and pull if deemed better.
Without the [pre-insertion validity](https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity) checks, `appendChild()` could do all kinds of crazy things, including breaking the invariants relied upon by other methods and/or making the tree unserializable.

...so I just went ahead and implemented the full thing in 9b6426554fcaa62e6c744a49e2f5638df94eff5b, minus the parts that deal with fragments (since fragments aren't supported yet).