ImmutableCollections: include the key in the "duplicate key" exception message

This makes the exception message much more useful in log files.
Disable the NuGet cache when installing Microsoft.DotNet.BuildTools

Fix #206
Add outer-loop tests support
Merge pull request #212 from krwq/OuterLoopTests

Add outer-loop tests support
Fix AppVeyor build script to correctly return error code

The script chained the execution of VsDevCmd.bat (aka the "Developer
Command Prompt") with build.cmd which seems to confuse AppVeyor
into not recognizing a non-zero exit code (i.e. when a test fails)
and incorrectly marking the build as green.

Invoking VsDevCmd.bat and build.cmd in two separate steps fixes this.

Fixes #214
Merge pull request #216 from akoeplinger/fix-ci-bug

Fix AppVeyor build script to correctly return error code
Add System.Console Product Code
Adding csproj, sln and package.config files to System.Console library
Update README.md

Added System.Console
Merge pull request #217 from richamsft/master

System.Console OSS work
Respond to code review feedback
Fix /property:OS=Unix build of System.Console

Some resource strings got lost in the move to GitHub.  There was also an inconsistency with the available NuGet packages and where SafeHandle lives.
Fix vector tests warnings about obsolete Marshal.SizeOf

The System.Numerics.Vectors tests were causing build warnings like the following:

Vector2Tests.cs(15,29): warning CS0618: 'System.Runtime.InteropServices.Marshal.SizeOf(System.Type)' is obsolete: 'SizeOf(Type) may be unavailable in future releases. Instead, use SizeOf<T>().

This changes does exactly that.
Add System.Runtime.Handles reference to System.Console
Merge pull request #185 from akoeplinger/key-in-exception-message

ImmutableCollections: include the key in the "duplicate key" exception message
Merge pull request #210 from PatrickMcDonald/buildtools-cache

Disable the NuGet cache when installing Microsoft.DotNet.BuildTools
Merge pull request #221 from stephentoub/fix_vector_test_warnings

Fix vector tests warnings about obsolete Marshal.SizeOf
Merge pull request #220 from stephentoub/fix_console_unix

Fix /property:OS=Unix build of System.Console
Avoid boxing ImmutableHashSet<T>.Enumerator.

This introduces a pattern that can be applied anywhere to conveniently avoid boxing one's own Enumerator struct without duplicating the body of foreach loops everywhere.
Slight syntax touch-ups in response to feedback.