JsInline: added CloningVisitor
JsInline: added InlineableResult
JsInline: added FunctionInlineMutator
JsInline: added JsInliner
JsInline: save static ref to JsFunction in JsName
JsInline: collect defined functions
JsInline: save block contexts to stack

Reason: need to be able to insert inlined body
before current statement (that might be
distant parent of node currently being
processed)
JsInline: save inline status during translation
JsInline: inline function calls
JsInline: run JsInliner after AST is built
JsInline: rename repeated local names
JsInline: alias arguments of inlining call
JsInline: replace return statements with break on label
JsInline: insert statements of inlineable JsBlock directly; do not declare result if not needed
JsInline: made invocation arguments modifieable
NameCollector @NotNull
JsInline: renaming refactoring
Lambda with Capture very temporary commit
Rewritten using Inlining context
Do not alias literals