Refined merging logic #KT-5844 Fixed

If merging primitives of different integral types (e.g. I and Z) return
INT.
Else return UNINITIALIZED_VALUE
Minor refactoring: use array of MethodTransformers

instead of delegation
Simple version of redundant GOTO's removing
Fixed tests
Restore accidentally removed String.getBytes() and mark as deprecated (discouraged).
KT-5863: Inlined try/catch/finally block with non-local return doesn't work properly

  #KT-5863 Fixed
JS backend: original long.js from closure-library
JS backend: prepare long.js for use in translator
JS backend: add support for Long type
JS backend: tests for Long type support
JS backend: support for char type
JS backend: tests for char type
~ charEquals.kt
~ longCompareToIntrinsic.kt
~ JsNumberLiteral.java
~ fixes after review
~ fixes after review 2