Ensure building in Visual Studio works without having to run build.cmd

Currently, you need to run `build.cmd` once before you can open and build any of the solutions in Visual Studio. The reason is that the project targets have dependencies on NuGet packages that aren't expressed via a `packages.config`. So while the Visual Studio NuGet is able to restore NuGet packages, it can't restore those because it doesn't know about the build-tools dependency.

I've fixed that by adding a top-level .nuget folder which is recognized by NuGet as global dependencies. The only reason I've added this folder to each solution is because the NuGet client will add it automatically to the solution on first build. So to avoid future noise, I've added the file to each solution already.

Also, in order to make the solutions build immediately, we can't rely on the build tools being copied to `$(OutDir)tools`, which is what the current build process does. Instead, I've changed the build to directly run from the package location.

/cc @FiveTimesTheFun, @weshaggard, @aarnott
I had the same thought and tried `nuget restore` but apparently that doesn't support passing a `packages.config`, which is why left it how it was. NuGet complaint about `packages.config` not being a valid solution file. @jeffhandley, is this expected?