JetSimpleNameExpression's name is not null

Modify usages accordingly
Add 'inner' keyword

Support for the keyword in PSI and stubs

 #KT-1174 In Progress
Add ClassDescriptor.isInner()

Implement in resolve & lazy resolve; place a stub in resolve-java

 #KT-1174 In Progress
Inaccessible outer class member is now an error

 #KT-1174 In Progress
Labeled this & super to nested class' outer is an error

 #KT-1174 In Progress
Forbid usage of outer's generic parameter in nested class

 #KT-1174 In Progress
Check all modifiers for objects

DeclarationsChecker didn't check visibility modifiers for objects
Report ILLEGAL_MODIFIER on inappropriate 'inner' keyword usage

 #KT-1174 In Progress
Disallow nested classes within inner & local classes

 #KT-1174 In Progress
DescriptorRendererImpl now writes 'inner' for inner classes

 #KT-1174 In Progress
Remove unused method
Remove 'inner enum' hack & fix Java inner class resolve

Inner enum was placed into the class object of the outer class. Remove the
hack from frontend, frontend.java & backend. Fix tests

 #KT-1174 In Progress
Get rid of MutableClassDescriptorLite.isStatic()

isStatic() is now precisely !isInner()
Support inner/nested classes in JVM back-end

 #KT-1174 In Progress
Codegen tests for inner/nested classes

 #KT-1174 In Progress
Do not report NO_CLASS_OBJECT when namespacesAllowed=true

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
Resolve qualified nested class expressions

lookupNamespaceType now returns NamespaceType of a scope not only of the
namespace found by name, but also of the classifier static classes scope found
by the same name. This allows correct resolution of expressions
"Class.Nested.member()", where Class comes from Java (previously it was
resolved into a NamespaceDescriptor with a NamespaceType).

NamespaceDescriptor.getNamespaceType() is deleted since there are no sense in
namespace's NamespaceType alone anymore.

Also some minor refactoring (referencedName param is useless)

 #KT-1174 In Progress
Additional loadJava/loadKotlin tests for nested classes

 #KT-1174 Fixed
merge upstream
fix after merge