Stubs for JetClassBody
Refactor: fix stubs and psi having redundant constructor parameters
Refactor: use generated approach for stubs test

Remove meaningless assertion
Add comment to NotStorePropertyFromDelegate test
Implement stub based package declaration provider for lazy resolve

Implement StubPackageMemberDeclarationProvider
Introduce DeclarationProviderFactoryService to provide difference factories in CLI and Plugin
When indexing treat top level declarations without name specially so that they can be found in index
Implement PluginDeclarationProviderFactoryService which uses file based approach for non indexed files and stub based for others
Stubs tests: treat NO_NAME_FOR_LAZY_RESOLVE specially
Minor: fix misleading method name
Refactor: extract duplicated logic to util class

Introduce PackageIndexUtil
Minor: remove unused method
Delete JetStubResolveTest

This test does not seem meaningful anymore
Since DeclarationProvider based on stubs is used in IDE, it is covered by a vast number of tests(anything that uses lazy resolve)
Use instance methods instead of JetPsiUtil for getting fq names

Remove unnecessary usages of JetFile#getPackageDirective where only FqName is needed
Make JetFile#getPackageFqName not nullable to avoid confusion on call sites
Remove getPackageName usages
Move getFqName(JetNamedDeclaration) to a separate util class
Increase stub version before pushing into master
//TODO: FIX FILTER SCOPE
++ fix get all declarations
REPHRASE: unneeded remove to sting
Stub tests: test for parameters with fq name