junit: workaround for old junit versions (IDEA-124201)

(cherry picked from commit 4a12b1faf99d81b754286143e7b36b4f07e6a899)
new inference: optimization

(cherry picked from commit 173e0be92f622da55bf2f3d49238d966504dff4e)
new inference: remember mentioned constraints in set optimization

(cherry picked from commit e0b83e7b2455aae8af1d04e3df32bb22de8ecebb)
restore cashed argument types, not for overload resolution

(cherry picked from commit 4005a3f1cac3e9058fb6036b916df983a6eb003c)
new inference: perform reduction and incorporation in one step

(cherry picked from commit 82fd80ea8949bf554da8a59bb123f833e5118ea3)
new inference: no need to eliminate wildcards as they are not used anyway

(cherry picked from commit 317d279d08ad847d22ec7329b4503d346bfcd3ef)
new inference: eliminate wildcards elimination

(cherry picked from commit 0f8aed0b67e48f942df6dfb45cdf94be4ee07b7a)
new inference: eliminate wildcards at top level as they can't appear in type elements

(cherry picked from commit eef0d1278cdccfee79508b010576f625ca3067d2)
new inference: eliminate wildcards elimination

(cherry picked from commit d4c2db850e5f01a8553a83a5433f2dce9a3698da)
EA-55910 - CCE: JavaDocInfoGenerator.generateValue

(cherry picked from commit 3bedbabf80a25707ab75792d7ec9b27785cc9208)
method refs/lambdas: apply ground types for completion

(cherry picked from commit b8493b6d31fac59c64de4ca4d42263f12eb8506e)
EA-55951 - CCE: StreamApiMigrationInspection$ReplaceWithForeachCallFix.applyFix

(cherry picked from commit e512a2f07ac24249a30223cb3533adaa1dffd7d2)
testdata for IDEA-79251

(cherry picked from commit 1471847207344d81bd1fad881eecddd3a2939091)
warn about underscore identifier

(cherry picked from commit 9914757d15cbbe3e41da8b202cddce1497fb9787)
testdata

(cherry picked from commit bd9dbfc7d5ec01fa0889cb8efa90d8aa6eac9d0f)
lambda: intersection type produces conjunction of abstract methods

(cherry picked from commit 552dfe92a92ee587fbb4ada664e316e532ac536c)
new overload resolution: most specific check on invalid class exceptions fixed

(cherry picked from commit 98ab76f0604e090e4d7dad44a2bf1c241f48b591)
new overload resolution: covariant comparison of return types

(cherry picked from commit 17b020f7c2d18df5b8f98e441147de3a9225d15e)
testdata

(cherry picked from commit 76a92936098ebd9d5d4b53017aaf51705c646c4a)
do not report unrelated return type error only for generics methods

(cherry picked from commit 4a34bd569b8474422ee46a7acb5e411d4ff574f4)