Fix #166: Correctly handle special types scala.Nothing and scala.Null

scala.Nothing and scala.Null are mapped to scala.runtime.Nothing$ and
scala.runtime.Null$ respectively by the Scala backend. This commit
adds the same behavior for the Scala.js backend.
Fix #157: Add trailing $ to names returned by getClass.getName on objects
Fix #151: Corner cases for Double/Float toString
Fix #150: Raise exception on failed String to numeric conversion
Fix #152: Coercing to char yields unsigned value
Fix #155: Allow null w/o NPE in StringBuilder where appropriate
Fix #172: Patch java.lang.Long.numberOfLeadingZeros
Remove lingering trailing whitespace
Fix #168: Allow to pseudo-flush JS Console
Make runtime.Long constants compile time consts
Fix #149: Implement String.hashCode()
Merge pull request #174 from gzm0/bugfixes

Bugfixes