JS backend: add NotNull annotations
JS backend: convert PropertyTranslator to Kotlin
JS backend: support for explicit delegation

 #KT-4479 Fixed
Alt+Click: set correct context element for code fragments from Alt+Click and Watch Points
 #KT-5598 Fixed
Regenerate tests
Gradle tests: output compiler process stdout and stderr
Gradle plugin: fix wrong external NotNull annotation
CLI: Support "-X" advanced options, simplify some boolean options
Simplify and enable by default inline/optimize/assertions

Inline, optimize, call assertions, param assertions are turned on by default
now almost everywhere; invert their meaning
(TODO issue about other args besides -X) Ant task: support additional arguments, drop inline/optimize

Only "-X" options are now supported as additional command line arguments
Ant task: fix unneeded exception wrapping
Ant task: drop "jar" parameter

"output" should be used instead, analogous to "-d" in kotlinc-jvm
Ant task: drop "module" support, drop unused compiler plugins code

Modules should only be used in IDE and the compiler is launched there directly
Ant task: split tests into JVM and JS
Reorganize integration test data
Minor, refactor integration tests
Minor, fix style issues in kotlin-maven-plugin
Maven plugin: support additional arguments, drop inline/optimize
CLI: change argument naming convention

As in all other Unix/POSIX tools and JVM language compilers, multiple words
comprising the argument name should be lowercase, separated by dashes
CLI: change "-suppress warnings" option to "-nowarn"

Following the rule of the least surprise: this option is named "-nowarn" in
other JVM language compilers. Besides, having an option with an argument which
can take exactly one predefined value is sort of confusing