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
Catch out of memory error