built helper method for searching

uses option hash to do depth-first or breadth-first searches
fixed remove_child

was declaring current parent as nil instead of child_node
fixed DFS for real this time

will find the appropriate value and terminate when its supposed to
blank text cleanup