KT-5425 Kotlin plugin crashes when project uses RxJava 17.0 or older
 #KT-5425 Fixed
Initial version of storing SourceElements in descriptors

Introduce SourceElement, JavaSourceElementFactory, DeclarationDescriptorWithSource
Implement getSource() for eager, lazy and java descriptors
Rewrite BindingContextUtils.descriptorToDeclaration utilities family to use SourceElement for getting PSI

Remove DESCRIPTOR_TO_DECLARATION context key
Refactor: Remove context parameter from BindingContextUtils.descriptorToDeclaration utilities family
Drop SynthesizedCallableMemberDescriptor
Set source elements for java parameters
Set source elements for java enum entries

 #KT-4277 Fixed
Set source elements for java annotation parameters
Move descriptorToDeclaration utilities family to a separate util class DescriptorToSourceUtils
Fix usage of utility in KDoc
[boxing-optimization] initial
[boxing-optimization] integration into codegen system
[boxing-optimization] Tests updated after integration with optimization subsystem
[boxing-optimization] Fixes after integration tests
[boxing-optimization] Specialized code generation for safe qualified expression when it's within elvis or another safe-call.
In such cases instead of generating ACONST_NULL, if reciever is null, just fall back to null-handler's label of the outer expression
[boxing-optimization] Redundant null check of boxed values detecting and cleaing out
[boxing-optimization] Minor, added Contract to JetPsiUtil.deparenthesize()
[boxing-optimization] Minor, fixes after review
[boxing-optimization] Added unsafe opcodes check for boxed values
[boxing-optimization] Dealing with case when boxing value is being stored in a variable