Move script descriptor implementation to frontend
Introduce EnumClassObjectDescriptor

Extract the duplicate logic in deserialization and descriptor.loader.java
Use EnumClassObjectDescriptor in TypeHierarchyResolver
Use EnumClassObjectDescriptor in lazy resolution
Move values/valueOf creation logic to EnumClassObjectDescriptor
Use a specialized scope in EnumClassObjectDescriptor

Instead of WritableScopeImpl
Move around some descriptor implementations

- mutable class, mutable package fragment and their dependencies go to module
  'frontend'
- ModuleDescriptorImpl and PackageFragmentDescriptorImpl are moved to the
  package "impl" in their module
Move writable scope implementations to 'frontend'
Remove JetScopeAdapter
Move/inline enum class object related methods in DescriptorUtils
Minor, fix typo