JsInline: removed legacy inline tests
JsInline: added inline tests
JsInline: added method traverse() to all nodes
JsInline: added JsGwtVisitor
JsInline: added JsGwtModVisitor
JsInline: removed legacy inline logic
JsInline: pass call expression to InlinedCallExpressionTranslator
JsInline: added CloningVisitor
JsInline: added RenamingVisitor
JsInline: added NameCollector
JsInline: added ReturnCounter
JsInline: added ReplaceReturnVisitor
JsInline: added FunctionCollector
JsInline: added InlineableResult
JsInline: added FunctionInlineMutator
JsInline: save static ref to JsFunction in JsName
JsInline: made break labels optional
JsInline: JsBlock must be modifieable

Reason: it is ok to insert in a block after AST was created during translation.
For example, inliner can insert inlined body in such block.
Thus immutable SingletonList isn't appropriate.
JsInline: added JsInliner
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)