This is a simple strategy-type interface for operations that are applied to
Tree. It typically is called iteratively over
trees in a Treebank. The convention is for TreeVisitor implementing
classes not to affect Tree instances they operate on, but to accomplish things via
side effects (like counting statistics over trees, etc.).