diamonds: lazy argument type calculation

(cherry picked from commit 32aad9fc0d7c21ade2347168b08744a9b64139c5)
new inference: avoid resolveGenericMethod on new expressions as diamond types are expanded and cached on class reference (IDEA-133297)

(cherry picked from commit 897609bd68d92c398d9d37964f28035573323bf8)
code cleanup: cleanup context after perform (IDEA-133442)

(cherry picked from commit 556e4000de8066ae73ce2ca914ed93bee867d1d4)