Optimize set and map binding creation.

* Use a pre-sized map when resolving map value instances.
* Use a list of bindings rather than a set of bindings for passing along the collection of contributors to a set binding.
I think I debated this when I wrote it the fist time…  Obviously, this should never, ever matter, but this logically _should_ be a `Set`, right?  In a situation where the performance of this method will almost never matter, it felt better to convey that the providers were unique.  That said, I could very easily be missing something and this could actually matter…