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

This makes the exception message much more useful in log files, etc.
E.g. `An element with the same key 'Invoice_413' but a different value already exists`

Based on a twitter [discussion](https://twitter.com/terrajobst/status/540658277562851329) with @terrajobst.
FxCop: All `String.Format` calls should pass a `CultureInfo` as a first parameter. In this case since it is a string that is not to be programmatically parsed, I believe it should be `CultureInfo.CurrentCulture`.