Refactored NuGetDependencyResolver to be more robust

- Changed 5 dictionaries into 2
- Made a single structure that represents all package information
  to be used for subsequent calls
- Properly map assemblies names to paths for loading
- Use all reference assemblies in the package for compilation

#266