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.
Given the discussion around uncertainty of the kind of string that  `TKey.ToString()` will return, can we make sure it appears at the very end of this string resource?

    <value>An element with the same key but a different value already exists. Key: {0}</value>