Reintroduce handling of collection declared type and fixed creation of Dictionary equivalency context

Doing the actual revert mentioned in Issue #138 and running tests made me realize that actual request may have been to correct the failing dictionary related test. I believe this does so I am submitting to see the tests pass on the build machine and let you see the change.

I spent all of a minute or two looking at the code and making this fix but I am not running on enough sleep at the moment to give it further attention. I probably should check another some other edge cases and reformat that unit test to match convention, but I can update the pull request later with that stuff.

I was conscious in neglecting to bring the corrections of in type handling from Issue #117 to generic dictionaries simply for reasons of scope; but, I probably should get around to that at some point too.