Diagnostics test: array creation of non-reified TP

 #KT-1370 Fixed
Do not report a warning on an inline function with a reified parameter

 #KT-6273 Fixed
Moved DiagnosticFactories about reified to

``Type parameter declarations'' block
Minor, removed redundant argument

from ClassBodyCodegen.generateDeclaration
Got rid of hack with stashing wereReified

1. Made ClosureCodegen extending MemberCodegen
2. Made ClosureContext extending ClassContext
Wrap parentCodegen before generating from inline
Supported nested reified parameter declarations

Also switched to using type names as identifiers instead of their
indices
Rename BaseDescriptorLoader before conversion
Convert BaseDescriptorLoader to kotlin
Prettify code in BaseDescriptorLoader after conversion
Inline BaseDescriptorLoader#getPackagePartClassName utilities
Minor: simplify code
Make AnnotationLoader and ConstantLoader accept descriptor-independent data

Rewrite BaseDescriptorLoader to operate on data derived from proto
Intdoduce ProtoContainer to replace containing descriptor as input data
Rename AnnotationDescriptorLoader, ConstantDescriptorLoader and DescriptorLoadersStorage before conversion
Convert AnnotationDescriptorLoader, ConstantDescriptorLoader and DescriptorLoadersStorage
Prettify AnnotationDescriptorLoader, ConstantDescriptorLoader and DescriptorLoadersStorage after conversion
Merge AnnotationLoader and ConstantLoader into single interface

Merge all implementation classes into single BinaryClassAnnotationAndConstantLoader
Extract non-descriptor specific abstract ancestor for BinaryClassAnnotationAndConstantLoader
Fix calling toString() on ProtoContainer
Prettify code in BinaryClassAnnotationAndConstantLoaderImpl