Activator performance improvement

Shouldn't close the previous PR early. Turns out I did not have to change much of my design.

Pinging previous trackers
@pranavkm
@halter73 
@rynowak
@ipjohnson
@yishaigalatzer 
I think this PR might be getting a little too large. I thought the original plan was to just change the TypeActivator in the first PR, and then change ServiceProvider to use the new TypeActivator goodness in the second PR.

I think you will need new perf tests for the ServiceProvider before you change ActivatorUtilites (or start using TypeActivator directly from the ServiceProvider). The PR you currently have open for these changes in the Perf repo do not test our ServiceProvider, since you are using a custom IServiceProvider implementation to test the TypeActivator improvements in isolation.