Now with nested classes the expression "A.something" makes sense even when A
doesn't have a class object ("something" could be a nested class)
Also "A" expression now gets a NamespaceType with the scope of all static
nested classes of A
#KT-1174 In Progress
Built-in top-level functions are located in jet.namespace class.
JetStandardClasses.isStandardClass() now checks that a given fqName starts with
"jet.", instead of searching it in the standard scope, to prevent this kind of
errors in the future
If we allow JetLightClass to be created on built-in types, a normal codegen
would be launched, with a mapping from Kotlin to Java types enabled, every time
IDE requests built-in classes. Codegen would then try to make something
meaningless, e.g. create a class for a primitive type (since our jet.Boolean is
mapped to primitive boolean). This would result in different exceptions when
navigating to built-in library from IDE.
Add a helpful error message to ClassFileFactory if we ever again produce
classes for primitive types.