Fix issue #34 (deadlock) and MissingDependencies getting into invalid state

This is an updated pull request which solves following issues:
1. Deadlock when resolving complex generics graph
2. HashSet<T> concurrency issue in AbstractHandler (gets into invalid state with Count == -1)
3. Iterating over MissingDepedencies in AbstractHandler would sometimes result in "dependency==null" when collection doesn't actually have any items.

Also, I've added a unit test which I used when testing these changes