Add LazyResolveByStubTest

Tests that lazy resolve uses stubs instead of AST
Mark test data files for cases which can't be resolved without AST access
Add explicit return types to several test data files so that AST access is not needed

Test cases are chosen so that addition/removal of explicit type will not interfere with the original purpose of the test
JetInitializerList#getInitializers() by stub
Minor: use getBody() in JetObjectDeclaration instead of obtaining it manually
Avoid accessing stubs in JetFileStubBuilder

Probable fix of SOE in file stub building
Refactor AbstractMultiFileJvmBasicCompletionTest to extend CompletionTestCase

Extract common code from JetFixtureCompletionBaseTestCase to CompletionTestUtil.kt
Reason for this change is that I couldn't get the check that prohibits tree loading to work with fixture test case
JetObjectDeclaration#isLocal() by stub
Minor: fix test data
Add multi file test for completion of enum entry
JetClass#isLocal() by stub
Stubs for JetPackageDirective
Fix positioning strategy for OVERRIDING_FINAL_MEMBER

Remove unneeded call to AST
Stubs for dot qualified expression built inside package directive
Get enclosing property for property accessor by stub in ScopeProvider
JetClassBody#getProperties() by stub
JetFile#getPackageDirective() by stub
JetPackageDirective#getPackageNameExpression() by stub
JetClassBody#getAllClassObjects() by stub
Rename JetStubbedPsiUtil#getContainingDeclaration(PsiElement, Class, boolean) to getPsiOrStubParent