Add code converted from update_dependencies.xml from Kotlin repository
System properties
Support isSet() on properties
Add translator XML -> Kotlin
Target dependencies
Remove isSet() from Property. Property with default value is also considered as set. In our DSL it becomes set after the first access.
.equals -> == for strings
Respect *.properties
Support code generation for external libraries
Support nested types
UpdateProperties works now
Make properties' default values lambda
Add main function
Fix properties generation
Update libraries
Execute implicit target before initializing other targets
Redirect Ant's output stream to System.out
Lazy initialization + refactoring
Add switch test
Don't init properties when reading it