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
[throws] annotation added to the standard library
Prevent annoying tooltip in Kotlin project

Module 'builtins' has no dependency on kotlin-runtime.jar, yet it has a lot of
Kotlin files. Add jet.Unit to the list of marker classes as an example of the
class not from the stdlib, but from built-ins. Since 'builtins' has jet.Unit in
its classpath, no tooltip is displayed
Rework BuiltInsSerializer

BuiltInsSerializer will be distributed with Kotlin compiler from now on. This
will allow to serialize binary data of built-ins on 'ant dist', as opposed to
storing all *.kotlin_class files in the repository: ant dist will just invoke
this serializer from bootstrap-compiler.jar
Make comparison with NaN consistent with javac
Update to IDEA 133.672 EAP
Fixed mapping generic type with multiple bounds from Java to Kotlin.

#KT-3480 fixed
Rename test functions to avoid clashing with JUnit

Android JVM tests run codegen test data with JUnit in classpath
Ant build requires 512M of heap
Delegated members should not be synthetic

Otherwise they are invisible to Java code
xxx$default() function should be visible from Java
Support [throws] annotation
Tests for abstract functions with default arguments
More correct code transformations: do not perform formatter's job on yourself