[cleanup] Deprecate *Traversal base classes
These base classes are no longer needed since the traversal now (after merging !18 (merged)) always build static tree paths. This MR does three things:
- Deprecate the base classes.
- Stop using/advertising the base classes.
- Remove the
treePathTypemembers to highlight that they are no longer respected.
DynamicTraversal are now completely empty structs, but they should not simply be removed, because user code will rely on them.
In contrast, the
TreePathType enum could also be removed after merging !21 (merged), since it's not used anymore. Furthermore the documented traversal interface required the
*Traversal base classes but did not guarantee that users can set this manually. Hence it's very unlikely that users explicitly rely on this enum.