updating node parent interface

I want to support different tree behaviors through subclasses
of a generic node class, without requiring subclasses to manage
too much finicky state.
Made it possible to put arbitrary content in nodes

First attempt at a class structure that can be subclassed easily
Merge branch 'gh-pages' of https://github.com/RLuckom/ambigui into gh-pages