Added SearchReplaceVisitor, to be used for more intuitive expression tree manipulation.