Move pre/postorder_traversal into visitor.h/cpp
Implement preorder_traversal_stop
Merge pull request #301 from certik/visitor2

Polishing of visitors