Get rid of dependency of class descriptors on BindingTrace
Move utilities out of OverrideResolver
Remove unused dependency of 'serialization' module on 'junit' library
Create DescriptorFactory utility class

Will contain utilities needed to create different common descriptors, such as
default getters/setters, enum values/valueOf methods, etc.
Refactor OverridingUtil.resolveUnknownVisibilities

Get rid of dependency on BindingTrace, move the corresponding error reporting
logic to OverrideResolver
Refactor DescriptorUtils

Remove dependency on org.jetbrains.jet.lang.psi, move utilities closer to their
usages, add NotNull annotations, fix formatting, etc.
Remove PSI usages from ScriptDescriptor
Cleanup descriptors in frontend

Remove useless classes/interfaces, inline useless superclasses, make the code
greener
Move FunctionDescriptorUtil out of descriptors/
Extract LazyResolveStorageManager interface

StorageManager will be available at runtime, thus it can't depend on
BindingTrace
Remove unused 'trace' parameter in ModuleConfiguration
Minor, remove DataFlowValueFactory.INSTANCE

DataFlowValueFactory's methods are all static
Delete ReceiverValueVisitor

This is done because this visitor ties all ReceiverValue's together, which
makes descriptors depend on PSI (ReceiverValue -> ReceiverValueVisitor ->
ExpressionReceiver -> JetExpression). Descriptors will be available at runtime,
but PSI is very heavy, so this dependency should be gotten rid of
Move Renderer to org.jetbrains.jet.renderer
Move ROOT_NAMESPACE_NAME to DescriptorUtils

KotlinBuiltIns depends on it, but it cannot depend on JetPsiUtil, because
descriptors module should not depend on PSI
Minor, delete useless class
Add JetType.isError()

Instead of ErrorUtils.isErrorType() which does several instanceof checks anyway
Minor, remove unused methods from ErrorUtils

Inline methods, annotate with NotNull
Delete ErrorUtils.isError(TypeConstructor)
Move generators sources to generators/src/