Allow to use dynamic types for JS projects in IDEA.
Frontend: add default getter and setter to dynamic property descriptors.
Frontend: add JetTokens.EQEQEQ and JetTokens.EXCLEQEQEQ to OperatorConventions.NOT_OVERLOADABLE
Minor in JS AST: drop unused constructors from JsBinaryOperation, JsUnaryOperation, JsPrefixOperation and JsPostfixOperation.
JS backend: fix "is Boolean" check.
Minor in JS backend: save operation token as member of BinaryOperationTranslator.
Minor in JS backend: simplify CompareToBOIF::getIntrinsic.
JS backend: added the support dynamic.
JS frontend: introduce some JavaScript specific constants.
JS tests: added doTest and checkFooBoxIsOkByPath to BasicTest to simplify using generated tests.
JS tests: use js files from some places by default:

* add all js files from testData/_commonFiles
* add all js files from <testDir>/_commonFiles
* add <testDir>/cases/<testName>.js if it exists
JS tests: added tests for dynamic.
JS backend: use special JsScope(JsDynamicScope) for names from dynamic calls instead of use containing scope to avoid the impact on local names.
Prepare for KT-5420 - Copy files before patch
Memory leak in PermGen of Kotlin Gradle plugin when demon is used (KT-5420)

Stop background thread in Intellij Idea api and clear thread locals to allow gc the created class loader

 #KT-5420 In Progress
Moved containsReifiedTypeParameters to DescriptorUtils
JVM Backend: always inline callable containing reified TP
Refactored tests using Array constructor:

Some moved to tests with stdlib
Some changed to use arrayOfNulls
Added inline function "Array" into stdlib

It has the same signature and semantics as Array constructor had
Also made Array constructor private and accepting no arguments
Removed codegen of Array-constructor with lambda