SimpleThreadSafeDictionary<TKey, TValue>
Simple type for thread safe adding/reading to/from keyed store. The difference between this and built in concurrent dictionary is that in this case adding is happening under a lock so never more than one thread will be adding at a time.
public SimpleThreadSafeDictionary()
Returns all values and clears the dictionary