Fix for Issue #924

I've added some unit tests around the things that I understand what it's for (I still don't get how and why anyone would register more than one concrete class for an Interface) and, of course, for my new method, MappedDependencies.