Fixed deadlock in System.Resources.ResourceSet
ResourceSet internal enumerator uses the following lock order:
1. lock _resCache (as _reader._resCache)
in System.Resources.ResourceSet+ResourceEnumerator.Entry
2. lock reader (this)
in the body on of _reader.AllocateStringForNameIndex
RuntimeResourceSet.GetObject uses the following lock order:
1. Lock on reader
2. Lock on _resCache
(on the same instance as passed to the reader ctor)
That causes deadlock when one thread tries to enumerate the ResourceSet
while another thread reads a specific object from the same set.
Added lock in System.Resources.ResourceSet+ResourceEnumerator.Entry,
so both code paths locks on reader first.
Fix Connect Issue ID #580259