Changed ConcurrentMultiValueDictionary's internal implementation and added unit tests for it
Added AtomicValue.cs, ConcurrentLinkedSet.cs, IPromise.cs, and Promise.cs and deleted ProgressThread.cs