Add JVM prefix to CodegenUtil name to give way for backend-independent CodegenUtil
Extract data class generation logic into backend-independent module
Inline methods.
Supporting data class for JS backend
Minor in JS backend: added test for the overriding in data class.
Don't use KFunctionN types in smart completion
Move default inline flag to JVM back-end

- other back-ends are likely to have its own value of this flag
- get rid of DEFAULT_INLINE_FLAG_FOR_TEST
- the main goal was to simplify the default GenerationState constructor, which
  now always uses default inline flag value
Remove usages of CodegenBinding.initTrace

This is a low level JVM back-end detail; clients should be using
GenerationState instead
Delete "println" from production code in KotlinResolveCache
Minor, init slice debug names for CodegenBinding
Make CodegenBinding.ASM_TYPE a collective slice

Change Type->JetFile mapping logic in PsiCodegenPredictor to be less hackish,
but probably the compiler will start requiring a little more memory due to a
collective slice multimap
Introduce ReflectionTypes, use it in JVM back-end

Make FunctionTypesUtil a component
Use ReflectionTypes instead of KotlinBuiltIns in type checker
Minor, rename accidentally named "context1" back to "context"