Do not use private Sun API in preloader
Drop "+StdLib" from manifest entries
Avoid redefining kotlin2js task in "ant jslib"

This helps to specify custom runtime for the newly built kotlin2js (which is
supposed to be different for the two bootstrapping steps). Also now it's not
required to launch ant-tools task before jslib to build JS library
Minor, rename JS Ant tasks

To be able to use the build file from the terminal conveniently, make names
shorter and avoid autocompletion conflict with "compiler"
Minor, fix style issues in ant tasks
Use reflection in Ant task to invoke compiler

This will allow a more controlled management of the runtime that the compiler
is linked against.

The test is deleted because the full compiler usage is now printed out on a
wrong compilerarg, and this will become inconvenient to update with each change
in JVM compiler arguments
Use findLoadedClass instead of hand-written cache in ParentLastURLClassLoader
Rename Maven library kotlin-runtime -> kotlin-builtins

Also replace accidental usages of former kotlin-runtime with kotlin-stdlib
Split loadKotlin test data into two chunks

The majority of the tests stays in "compiledKotlin", while tests that use
annotations not retained at runtime go under "compiledKotlinCompilerOnly",
which will not be used as a root for generated descriptor loading tests at
runtime with reflection (as opposed to "compiledKotlin")
Test generator: allow to exclude certain test data directories
Initial support of descriptor loading at runtime
Initial support of annotation loading at runtime

In order to locate an annotated entity, we need to implement almost the whole
Java element model (which will be used anyway for Java descriptor loading)

Nested annotations are not supported at the moment. Also the order of loaded
annotations seems to be instable
Support Java symbols in runtime descriptor loading
Delete dependency of 'serialization' on trove4j

Use HashMap of wrapped objects instead of THashMap with custom hashing strategy
Prettify code in 'reflection.jvm'

Use stdlib instead of hand-written hacks, fix some warnings and unneeded !!
Include core and reflection in kotlin-runtime.jar
Add kotlin-runtime Maven artifact

Contains kotlin-stdlib and reflection implementation for JVM
Compile kotlin-runtime-minimal.jar, include into bootstrap compiler

Include minimal runtime into bootstrap compiler (step 1 of 2 in the build)
instead of the full runtime because full runtime intersects with compiler on
classes from core/ (descriptors, JDR, ...) and these classes are in fact of
different versions. This effectively means that reflection can't be used from
the compiler, otherwise bootstrap compiler will not link (in fact it will only
fail at runtime when/if the reflection usage is reached).
Rework bootstrapping compiler with runtime in build.xml

Do not pack the runtime into the compiler on the first step of bootstrap, but
rather leave it as a separate file.

This new solution will allow compiler to use its own classes from "core", not
the ones used by the runtime it depends on
Use abstract factory for reflection objects on JVM

Introduce an abstract factory class ReflectionFactory which is responsible for creating
reflection objects (KClass, KProperty, ...). The meaningful implementation is
located in "reflection.jvm" where KClassImpl/KPropertyImpl/... are accessible
and can be instantiated. The default implementation will be used in the lite
runtime with no reflection and will return nulls / throw exceptions there.

Put all functions, calls to which are generated by JVM back-end, in one place:
the class named Reflection which contains only static methods. Previously these
functions were scattered across different files in module "reflection.jvm".

The code using reflection may now be compiled against either runtime, but
reflection features will work if and only if reflection is accessible at
runtime