Introduce DependencyResolver::Set superclass

Not particularly useful, but it will serve as a guide for implementing
additional sets as I keep forgetting which methods are required.
Hide non-public methods in Set

These methods are just support methods.
Remove empty prefetch, it is inherited now