Removes assumption that children will be an Object and adds Node test

Adds the getChild method instead of assuming children will be implemented as a dictionary
Adds a test Suite for Node, testing basic functionality so we don't expect children to be in any specific format
Updates tests with missing functions and Node methods