Do not hide annotations on light classes
Replace a hack (Internals class) with a less-of-a-hack workaround

 LockBasedLazyResolveStorageManager is put into the same package as LockBasedStorageManager
Remove unnecessary overriding method
Reuse applicability criteria
Show call sites of overriden members in "Caller Hierarchy"
 #KT-4395 Fixed
Overload constructor of Composite iterator for lazy use cases
Test for completion of kotlin binaries in java.
Test for completion of kotlin sources in java. Reused same test data.
Moved injava handler test data.
Removed old injava completion test (all cases are covered by common source/binary tests).
Moved test data.
Added tests for class object and nested objects.
Overload constructor of Composite iterator for lazy use cases

This time in the right file
KT-4456 Generated wrong bytecode when Kotlin class inherited from Java Interface with method which have SAM type argument

 #KT-4456 fixed
Make room for laziness in the Annotations interface
Annotations.findAnnotation() added
Java annotation resolution made lazy
Use findAnnotation() instead of iterating through all annotations
Rename: LazyDescriptor -> LazyEntity
Support force-resolving lazy annotations