fixed issue #30
minor perf optimisation when registering open generics

doing single dictionary lookup instead of two
fixed broken test
CollectionResolver supports all default collection types now

That includes IReadOnlyCollection<> and IReadOnlyList<> in .NET 4.5 (or whatever Array types decide to implement in the future)
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
added start on call and priority for startables