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