Fix IR type of parameters in JavaScript functions.
Fix IR type of () -> undefined conversion.
Fix the IR type of matches in statement position.
Fix IR type of .asInstanceOf[Null/Nothing].
Merge pull request #645 from sjrd/fix-ir-types

More fixes to IR types
Fix IR type (missing asInstanceOf) for fromAny() of value class.

Discovered through run/t8017

If a value class' content is a generic type, its unbox method
returns Object (or the upper bound of the type parameter) rather
than the actual type. So the result itself must be further
asInstanceOf'ed.
Fix #573: Add an IR checker.

The IR checker can be enabled with the setting
  checkScalaJSIR := true
It will perform a complete sanity check of the IR and typecheck it
during fast-optimizations.

Note that it will not even run if fast-opt reports at least one
"linking" error.

The IR checker is disabled by default in the sbt plugin, but we
enable it for all the examples and the test suite in the Scala.js
build. It is also enabled for the partest suite.
Merge pull request #646 from sjrd/ir-checker

Fix #573: Add an IR checker.
Fix #644: Broken source maps.
Fix our SourceMapper wrt 0-based and 1-based (again).
implement java.lang.Character.isISOControl
Add override of NumericRange from Scala, to track changes.
Fix #650: Get rid of fastOpt warnings when using ranges.

It is done by removing some optimizations of NumericRange when
it deals with BigIntIsIntegral, BigDecimalIsIntegral,
FloatAsIfIntegral and DoubleAsIfIntegral. This should not even
alter the correctness of using these (assuming they otherwise
work, given that Java big numbers are not there).
Make fastOpt fail if unable to check the IR at all.

Otherwise a test suite would silently succeed if at least one
dce warning is found, instead of failing as it would if there
was no dce warning but an IR error was found.

Of course, this applies only under `checkScalaJSIR := true`
anyway.
Merge pull request #651 from sjrd/fix-range-dce-warnings

Fix range dce warnings
Merge pull request #649 from sjrd/fix-source-maps

Fix source maps and source mapper
Merge pull request #648 from xuwei-k/Character-isISOControl

implement java.lang.Character.isISOControl
Fix most warnings in the compiler.

Two deprecations warnings remain, but they are confined in
Compat210Component.

We also still have the "cannot check for unreachability"
warnings. I wish we could disable those.
Merge pull request #653 from sjrd/fix-compile-warnings

Fix most warnings in the compiler.
Cleanup local name generator.