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()
Fix classpath test for openjdk
Add TypeBinding.
Add method getValueParameters() to JetCallableDeclaration
Convert Variance.java -> .kt
Create VarianceChecker
Add VarianceChecker to TopDownAnalyzer
Add test (recursive resolve in property declaration) to JetPsiChecker
Added Variance tests
Fix blinking test
Fix protected visibility in class object.
Add receiver to Visibility#isVisible
Change usage "v == Visibilities.PRIVATE" to Visibilities.isPrivate(v)
Temporary hack for KT-6320
Add surrounder for cast to runtime type
Minor: fix warnings