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 `[NotNull]` annotation (which you can use today) will in the near future cause an `if (x=null) throw ArgNullException("x");` to be code-genned into the code during compilation. Nothing gets optimized out.