move spellchecker to java-impl so it won't depend on any plugins enabled (IDEA-123346)

(cherry picked from commit 90fa8cb22e457c048332afe8ede43ec4d95f7d9f)
IDEA-123230 html code visible in updated plugin disabled warning

(cherry picked from commit 0afb68102e129a9cf28114c6f04d104de05a7def)
shared icon introduced (IDEA-120989)

(cherry picked from commit 7a9f96d80cd4bed3c549611a30dcb1eed867c9fc)
IDEA-123115 Infer Nullity mark Local History

(cherry picked from commit 699c2417b0ca453c15f76c4113c17512c71fc093)
EA-55521 - IAE: TypeConversionUtil.getSuperClassSubstitutor

(cherry picked from commit 83a1f2a6b6027d0bbfa51cdeb297b3abee1272d7)
EA-54930 - IOE: PsiJavaParserFacadeImpl.createExpressionFromText

(cherry picked from commit 9de341b40173a8ce8c3d8d665cce2bc8cb16e8e2)
EA-55041 - IAE: TypeConversionUtil.isAssignable

(cherry picked from commit dd5324046cac91f94ae3ea2aed63e55f6e97b868)
allow to run parameterized tests from plugin

(cherry picked from commit 86a9401e7264b62ab1b8fc2ea31811e5a9007d2a)
search for functional interface implementations by lambdas and method references: change signature/find usages; to be continued (IDEA-104286; IDEA-90824)

(cherry picked from commit ec1d4927bddec4275d9bf0ceb163a63003439a21)
laziness & compilation fix

(cherry picked from commit 90f3c6f3fed25335b3d64553cc7fe94854581d7b)
do not treat anonymous classes as functional

(cherry picked from commit 89d58d46786419085e99980676004e0c92296596)
compilation fix

(cherry picked from commit 43f09a20fc798df26602e520cb5351ae79dfc190)
IDEA-118774 Warning about lack of subclasses when using lambdas

(cherry picked from commit cd3eac21594b1b40e30724b0fc021cad8ce43eac)
safe delete: warn about functional expressions

(cherry picked from commit 2a89426bcefd98ec873fae99ff57ff702a896dc6)
functional expressions: show them in hierarchy view (IDEA-95127)

(cherry picked from commit da399c31d652a7db74e3c6f7c9391d7b7b23a9d4)
functional expressions: show in method hierarchy

(cherry picked from commit a7875b54ce79054ba94f1debf9727f524255850a)
warn when converting from interface to class in presence of functional expressions
(cherry picked from commit 417e7a2)
@FunctionalInterface -> CommonClassNames

(cherry picked from commit 3692adc0358956e9ed4ad6dee2d7490ba39755f3)
disable convert interface to class for @FunctionalInterface-s

(cherry picked from commit feb2a09713272a6d5a5d984f5d0b65ac4c440fef)
functional expressions: include in class hierarchy

(cherry picked from commit 0773a6f3a3a1ea374687c650cb2262a1bc15d1f7)