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
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
Rename FunctionTypesUtil -> JvmFunctionImplTypes

It's not an util class anymore
Remove BindingTraceAware, TypeMapperAware, BindingContextAware

- delete suspicious caching logic from CodegenBinding.getAsmType(), which makes
  JetTypeMapper now depend only on BindingContext
- inline all of these classes into GenerationStateAware and the latter into
  JetTypeMapper
Simplify type mapping logic in CodegenBinding

- inline asmType to calling getAsmType, which does something more
- refactor getJvmInternalName to use getAsmType as well
- simplify getAsmType and fix a probable bug in mapping singletons nested in
  enums (which wasn't reproduced, though a test is added)
- delete unnnecessary ASM_TYPE recording for enum entries in
  CodegenAnnotatingVisitor
Make JvmFunctionImplTypes lazy

It shouldn't compute all FunctionImpls at least until first asked
Remove GenerationStateAware
Delete unused parameter in SamWrapperCodegen
Add missing copyrights
Buildserver auto merge