Separating the classes out for the validator to make it easier to work with
Cleaning up code to tighten down public api
Adding Domain Models to separate the models used from the processing
Renaming PackageDependency to NuGetPackageDependency to avoid naming collisions
Refactoring how the solution, project, and dependencies are read
Implemented reading of package files
Adding validator to ensure that all packages are the same version