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 
The scope of the PR has become a bit large. This class will not be removed in this PR

created an issue instead
https://github.com/aspnet/DependencyInjection/issues/118