Rewrite PropertyMetadata to Kotlin
Generate FunctionN and FunctionImplN classes in Kotlin
Rewrite built-in annotations to Kotlin
Rewrite progression iterators to Kotlin
Rewrite built-in primitive iterators to Kotlin
Generate Kotlin sources of ranges
Generate Kotlin sources of progressions

The check in DoubleProgression "if (increment == 0.0 || increment == -0.0)"
(and similar in FloatProgression) was simplified to "if (increment == 0.0)"
because 0.0 == -0.0 on JVM
Fix floating point number hash code in ranges

Don't make 0.0 and -0.0 have the same hash code: they are different in Java (in
the sense that "Double.valueOf(0.0).equals(Double.valueOf(-0.0))" is false),
and they are considered different already in DoubleRange.equals, which calls
Double.compare, which differentiates them
Rewrite Progression, Range, Unit to Kotlin

Delete useless (by now) AssertInvisibleInResolver
Move toString() from primitive ranges to Range

The same can't be done with progressions, because its toString() checks if an
increment is greater than zero, but Progression.increment is of type Number,
which is not Comparable<Int>
Create module 'builtins', move 'runtime' -> 'runtime.jvm'

'builtins' will be used for platform-independent core built-in definitions,
'runtime.jvm' for things that should be present at runtime in order for Kotlin
code to execute correctly on JVM

ProgressionUtil goes to 'builtins' right now because progression iterators
depend on it, but should be rewritten to Kotlin later
Generate Kotlin sources of progression iterators
Remove duplicated sources of built-ins

BuiltInsSerializer now serializes built-ins found in two source roots:
core/builtins/native and core/builtins/src

Add return types to some declarations in core/builtins/src, because now that
BuiltInsSerializer processes them, it launches lazy resolution which can't
always deduce the return type
Don't fail on annotated built-ins

Unit.VALUE is annotated right now (with "suppress"), so deserialization was
throwing an exception from AnnotationDeserializer.UNSUPPORTED. Return empty
collections of annotations instead; here we use the fact that it's the only
annotation in built-ins and its presence is useless to the type checker
Update builtin-classes after introduction of compilable built-ins

'next()' in primitive iterators is now final, as it always was in module
'runtime' before