Fix for KT-6383: Can't access a private static member of class object

  #KT-6383 Fixed
Remove utility method from AnnotationDescriptor interface
Rename NameTable -> StringTable in serialization

Since almost the beginning, it was also used to store arbitrary strings, not
just names
Minor, remove unnecessary NOTHING_TO_INLINE suppressions
Introduce extension for built-ins serialization, drop .kotlin_class_names
Introduce binary representation for annotations

Will be used where annotations can't be stored elsewhere: for example,
built-ins, JS, type annotations on JDK<8
Add ProtoBufConsistencyTest

This test checks that indices of all extensions on the same message type are
unique across different extension points (JVM, built-ins, ...)
Code simplification
More correct and simple code
Code completion: graying members after dot completion for nullable value
Immediate extension members are correctly detected for platform types
More clear code + better test
Fixed completion list ordering for java classes
Added a test
Better imported/non-imported items sorting in completion
Completion: classes not to be used in Kotlin placed to the last place
Completion: our own lookup elements for java classes
Completion: got rid of special LookupElementFactory implementation to highlight immediate members
Completion: added package name for global functions/properties in the list
Completion: immediate members get higher priority in the list