The name of a Website project can be different from its directory name, e.g.
"WebSite" vs "WebSite(1)". Change WebSiteProjectSystem so that the ProjectName
returned is consistent with VsProject.
Filter out unlisted packages.

Additional fixes:
- Update build.cmd to add the restore step.
- Fix a possible null reference in exception handler in PackageDetailControl.xaml.cs & PackageSolutionDetailControl.xaml.cs.
- Compare projects by comparing their unique names.
Add NuGet aware project support in ProjectManager. Also fixed the deadlock during rollback because of Wait(). Replaced it with await.