added getNodeList and removeNode

getNodeList returns a list of nodes by breadth order

removeNode removes a node and all children under it