Implement modificationTracker for CompositeDiagnostics

 #KT-5981 Fixed
JS backend: test for KT-2901: nullable type in string template
Minor: add diagnostic test for entries in enum with abstract members
Do not report ABSTRACT_MEMBER_NOT_IMPLEMENTED on enum classes

Partial fix of KT-3454
Do not report NON_FINAL_MEMBER_IN_FINAL_CLASS on open members in enum classes
"abstract" modifier on enum class is an error

 #KT-3454 Fixed
Test code generation for enum deriving from a trait
Minor: rename test data file
Test super calls in enum literals
Test abstract override in enum class
Respect source/test roots when building scope in CompletionSession
Respect resolve scope when adapting java types completion

Do not suggest classes from unrelated modules
Readme.md: Broken links fixed
Pseudocode: Generate instructions for unresolved array assignments
Pseudocode: Drop CompilationErrorInstruction
Create From Usage: Generate Unit-typed declaration if result is unused
 #KT-5903 Fixed
Create From Usage: Always try to shorten return type reference if there is one
Create From Usage: Generate type parameters (if any) for all callable declarations
Create From Usage: Do not suggest Java classes as receiver type candidates (for now)
Call Resolver: Report UNRESOLVED_REFERENCE instead of EXPRESSION_EXPECTED_PACKAGE_FOUND when callee expession is resolved to package