Feature: CatalogTraversal<> Traverses all Named Snapshots

This adds `CatalogTraversal<>::TraverseNamedSnapshots()` which traverses all revisions referenced in the repository's history database.

Additionally it adds test cases in `T_CatalogTraversal` to verify the functionality using a mocked history.