Enabling NuGet Package Restore for solution

NuGet's automatic package restore allows Visual Studio to download
needed packages before building, to prevent build exceptions on first
clone.

This adds required files and project changes to enable this.