Faster completion by not iterating over full class index for each package
Added indices for functions and properties in package and used them to speed up completion
Classes by package index now contains only top-level classes
Renamed two index classes for consistency
Dropped index which is not needed anymore
Dropped 2 more not needed indices
More correct implementation PsiShortNamesCache (although I do not know if it matters at all)
More simple and effective top-level declarations by name search
2 more indices not needed anymore
Fixed JetDeclarationStub.getParent() which was incorrectly implemented before
Replaced filterIsInstance with class-literal argument with simplified version
Extensions PsiElement.getParentOfType with reified T

1. Renamed *ByType -> *OfType (as in PsiTreeUtil.java)
2. Introduced PsiElement.getStrictParentOfType and PsiElement.getNonStrictParentOfType
with reified TP
3. Replaced current usages of PsiTreeUtil.getParentOfType and current
extensions
4. Made reified version of PsiElement.getParentOfTypeAndBranch with
default strict value --- false (as it used)
DependencyInjectorGenerator: reified extensions

1. Introduced reified extensions
2. Replaced extensions accepting varargs with ones
that accept single reified argument (it's looks more concise)
Minor, removed Contract from deparenthesize

and added some asserts
Removed redundant call v.done() in ClosureCodegen

It should be called by super.done()