remove recursive path building

- delegate path/branch traversal to item.listchain()
- build paths using a generator instead of recursive func
- parametrized funcs are now collected/grouped appropriately
- all pseudo-nodes should also have a reference to their parent