ensured unbounded hierarchy is supported for arbitrary root nodes

previously this was only supported for the entire collection (i.e.
`/hierarchy`, but not `hierarchy/:root`)

seems like this could be simplified, unifying processing with the
corresponding `index` action - but I currently don't have the cognitive
capacity to play out the various permutations

/cc @mrreynolds