Fixed KT-4431 Override/implement val: generate getter instead of initializer

 #KT-4431 Fixed
Fixed KT-4892 Override method generates redundant type arguments in call to super

 #KT-4892 Fixed
Corrected usages of isNullableType/isMarkedNullable
A bit more clear code
Completion of object's in type position - they can be used there
More clear test data format
KT-5986 No code completion for second type argument of HashMap instantiation
KT-6406 Code completion in type argument position should not include functions and variables

 #KT-5986 Fixed
 #KT-6406 Fixed
Fixed occasional insertions of fq-names by completion and similar effects

 #KT-6182 Fixed
 #KT-6111 Fixed
Safer class name insertion - do not insert artificial prefix too often because it may affect code parsing below in the file
Optimization
Fixed KT-6408 Completion auto-popup prevents smooth typing of "!in"

 #KT-6408 Fixed
Changed API in ResolutionFacade to resolve to element to support 3 modes
Partial body resolve test to test 2 resolve modes
Correct completion of nested/inner classes after dot

 #KT-1889 Fixed
Trying to rewrite code to avoid JVM crash
Spec document for reified type parameters
JS backend: fix KT-6112 jsonFromTuples is broken

#KT-6112 Fixed
Converted code to Kotlin
Refactored code
Minor code improvement