defines SearchTreeNode, fixes isGoal() reference
adds depth limited and iterative deepning search
adds template for heuristic functions
refining previous commit