removed Remoting facility from the solution. It's an old obsolete technology and pain in the ass to support
upgraded NUnit to v2.6.3
removed some Resharper warnings

upgraded projects to VS2013
making the code compile in all versions of .NET
rebuilt ConcurrentHashSet to be more minimalistic and not implement any standard collection interfaces

Specifically this was done to avoid concurrency issues. More specifically we did have a race condition with using .ToArray() extension method where one thread would call ToArray() another one .Remove() and we'd end up with array having null values in it.