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
Make ReceiverValue.NO_RECEIVER = null

The artificial object is no longer needed, now that ReceiverValueVisitor is no
longer present. Use nullable ReceiverValue everywhere NO_RECEIVER could have
appeared, replace ".exists()" calls with checking against null
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/
Generate keyword strings for DescriptorRenderer

This is done in order to kill dependency of DescriptorRendererImpl on JetTokens
Use 'generators' module and its dependencies for 'All Tests'
Extract util.runtime module out of util

Cleanup module dependencies: a lot of modules depended on 'frontend.java' just
to use something from 'util' module, exported by 'frontend.java', whereas they
really need nothing from 'frontend.java'. Also 'frontend.java' just exported
'util', not using anything from it.

Create a new 'util.runtime' module, which will be available at runtime. Make
'util' export 'util.runtime' and make all modules who needed these utils depend
on 'util' directly instead of 'frontend.java'
Move constant error types to TypeUtils

They're used from different places that will be available at runtime
Move ErrorValueWithDiagnostic to CompileTimeConstantResolver
Move AbstractLazyTypeParameterDescriptor to descriptors/impl/