Diagnostic update to support default parameters in inline methods
Code clean
Substitute Call with JetElement in InliningContext to support default inlining (there is no call)
Suppot inlining default methods, inlining function into its default.
Code clean
Move JvmMethodSignature to frontend.java
Signature comparison used to find super functions in SignaturesPropagationData

 #KT-4509 Fixed
Minor. More specific return type
Make JetSimpleNameExpression abstract, create subclasses for each element type

It's not a good practice to have one PSI class to correspond to several element types
Make JetReferenceExpression an interface
Rewrite JetSimpleNameExpression and inheritors to Kotlin
Make JetSimpleNameExpression a trait
Make JetSimpleNameExpression#getReceiverExpression extension function and move it to util class
Stubs for JetImportList
Stubs for JetImportDirective
JetTypeParameterListOwnerStub#getTypeParameterList by stub
JetFile#getImportList() and JetImportList#getImports() by stubs
Stubs for JetModifierList
JetDeclaration#getModifierList() by stub

JetClass#getPrimaryConstructorModifierList() by stub
Stubs for JetTypeConstraintList