Feature: CatalogTraversal<> Objects can be Reused with Multiple Entry Points

The `CatalogTraversal<>` template can now be reused for multiple traversal operations. This will become handy, when it is used for the garbage collection of a repository with multiple tags. Hence each tag will be an entry point into the repository to be garbage collected.

Additionally this contains an adaption/extension of the respective test suite.