Add JetTypeMapper.mapClass

Should be used instead of "mapType(*.getDefaultType(), IMPL)" pattern
Move JetTypeMapperMode to JetTypeMapper class
Generate values()/valueOf() even for empty enums
Load annotations on properties declared in traits
Refactor codegen of property backing fields, TImpl, etc.

- remove synthetic method code generation from TraitImplBodyCodegen, use
  PropertyCodegen for that
- don't try to generate synthetic methods for constructor properties
- inline methods, NotNull, renames, etc.