Minor refactoring of DependencyGraphBuilder
Started to make DependencyGraphBuilder more amenable to different types of resolution

- Extracted DependencyGraphVisitor api for building different models during graph resolution
- Still tightly coupled to internal types
Moved DependencyGraphBuilder into a separate sub-package
Started to detangle dependency graph traversal from dependency result model building