Add mutex lock to PropertyDictionary

It was pointed out that since the PropertyDictionary is caching the
properties of types using a static dictionary, it must be made thread
safe.