Fix issue #34 (Deadlock - DefaultNamingSubsystem.GetHandlers() vs DefaultGenericHandler.type2SubHandler)
Resolved issue when in certain scenario AbstractHandler.MissingDependencies would get into invalid state (Count == -1), since HashSet<T> is not thread safe.
Unit test added to reproduce/verify deadlock with complex generics graph resolution
ConcurrentHashSet implementation which works under .NET 3.5/SL

Resolved bug where (foreach var dependency in MissingDependencies.ToArray()) would result occasionally in attempt to iterate over "null" dependency
Update ConcurrentHashSet to use Castle's Lock abstraction, so that it compiles for SL
making the tests more robust
Merge branch 'fix-issue-34' of git://github.com/anton-iermolenko/Windsor into anton-iermolenko-fix-issue-34
reformatted code and inlined TryGet which is not needed anymore