Refactoring: use delegation instead of subclassing
Refactoring: remove warning
Refactoring: move AbstractScopeAdapter to scope package
Refactoring: reuse method, remove warnings, don't process descriptors substituted to null twice
Refactoring: remove warnings
Centralize and cache creating import directives
Store alias name with import path
Test for ImportPath and JetImportDirective coherence
Debug names for chained scopes in lazy resolve
Create enumeration LookupMode instead of using boolean onlyClasses
Create scope with lazy import resolve
Add test for checking ambiguity for root package and the same package
Tests added for checking two-phase (classes and functions) import resolution
KT-3165 Weird stack overflow in IDE (test added)
Test are imported functions completed
JetPsiBuilder -> JetImportsFactory rename
Imports resolution tests