KT-5112 Generic signature lost for a field copied from class object to containing class

  #KT-5112 Fixed
KT-5112 - test file update
Correct the argument types of the StringBuilder.append

Modified AsmUtil to generate calls to more specific append methods
in the StringBuilder class in order to save computation time and make
less temporary objects.

Also adds unit-test to verify that the append(Object) method was
invoked 0 times while the append(String) 3 times

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Fix StringBuilder.append generation

append(StringBuilder) is private and should not be called
Regenerate tests
Extract Function: In case of top-level and member declarations place extracted function after the original container
Move skipVisibility check to createTempCopy()
Replace accessor functions with property
Extract Function: Limit the set of allowed containers for the default action
Extract Function: Create separate action for extraction to arbitrary code block
Extract Function: Replace IDEA "Extract Method..." action with "Extract Function..."
Completion fails with exception "Toplevel class has no fqName" (KT-5119)

Groovy scripts files can create PsiClasses with null qualfied names (getQualifiedName()) and names (getName()).

 #KT-5119 Fixed
Fix "rewrite at slice" problems with resolving same Java class many times over the same trace
When checking overrides, compare methods structurally

Because they may come from different copies of the same class from different modules
Minor. If's with the same condition merged
Using strategy instead of BiMap
Minor. Methods reordered
OverridingUtil turned into a singleton
OverridingUtil parameterized with equalityAxioms
Do not compare local classes by FqNames