Add kotlin-runtime.jar to the class loader when invoking compiler

TopLevelMembersInvocationTestGenerated failed locally because the compiler
couldn't find runtime classes
Deserialize constructors of static nested classes correctly

Similar to what is done in TopDownAnalyzer
 #KT-4081 Fixed
Write full synthetic method signature for annotated property

This will be needed to support annotated extension properties, since they have
the same name but different signatures
Fix synthetic method generation for extension properties

If several annotated extension properties with the same name were declared in
one class, JVM issued a ClassFormatError, since we generated a synthetic method
for each of them with the same name and signature. Make the signature of this
synthetic method depend on a receiver parameter, if a property has one
Minor, extract test for synthetic methods for properties
Minor, extract method in CodegenTestCase
Generate synthetic methods for annotated properties in TImpl classes

Traits themselves can't have these methods, since it'd be a weird public method
in an interface

 #KT-4072 Fixed
Minor, group tests related to synthetic methods for properties
Add jet.KotlinTraitImpl annotation

Similarly to jet.KotlinPackageFragment, will be used to mark "$$TImpl" classes
generated for implementations of trait's methods and annotations of trait's
properties
IDEA plugin: dropped the unused setting "JavaScript target version"
CLI: move K2JSCompilerArguments#createMainCallParameters to K2JSCompiler.
CLI: move the `compilerPlugins` property from CompilerArguments to CLICompiler.
CLI: removed unnecessary code that depended on KT-1863 and KT-2498.
CLI: move *CompilerArguments classes to cli-common module.
IDEA: created a infrastructure for saving any compiler settings.
Added "generate no warnings" to Settings.
JPS: transferring compiler settings to the JPS
JPS: removed unnecessary code for running compiler out of process.
CLI: added "-printArgs" arguments to commandline compiler.
JPS: switch to using *CompilerArgument classes(from IDEA Project Settings) in build.
CLI: drop CompilerArguments and unnecessary methods from *CompilerArguments classes