Add basic build for Scala.js.

I did this in "blind" mode. I cannot test it locally due to #64.
The standard `test` command tests the completely non-optimized Rhino-based "interpreter" for Scala.js, which is very slow, and does not really check a bunch of things (for example, that the IR actually typechecks). The combination of `testSuite/fastOptStage::test` and `testSuite/fullOptStage::test` is about the minimal set of tests that will catch most errors.

Actually, this is *very* minimal compared to the entire test suite of Scala.js. Our full testing incantation looks more like this:
```
    sbt ++$scala package packageDoc &&
    sbt ++$scala helloworld/run \
        helloworld/fastOptStage::run \
        helloworld/fullOptStage::run \
        helloworld/clean &&
    sbt 'set ScalaJSKeys.scalaJSOptimizerOptions in ScalaJSBuild.helloworld ~= (_.withDisableOptimizer(true))' \
        ++$scala helloworld/fastOptStage::run helloworld/clean &&
    sbt 'set ScalaJSKeys.postLinkJSEnv in ScalaJSBuild.helloworld := new scala.scalajs.sbtplugin.env.phantomjs.PhantomJSEnv' \
        ++$scala helloworld/fastOptStage::run helloworld/fullOptStage::run &&
    sbt ++$scala testingExample/test \
        testingExample/fastOptStage::test \
        testingExample/fullOptStage::test \
        testingExample/clean &&
    sbt 'set ScalaJSKeys.scalaJSOptimizerOptions in ScalaJSBuild.testingExample ~= (_.withDisableOptimizer(true))' \
        ++$scala testingExample/fastOptStage::test &&
    sbt ++$scala "testSuite/testOnly -- -- -trhino -tsource-maps" \
         "testSuite/fastOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \
         "testSuite/fullOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \
         "noIrCheckTest/testOnly -- -- -trhino -tsource-maps" \
         "noIrCheckTest/fastOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \
         "noIrCheckTest/fullOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \
         testSuite/clean &&
    sbt 'set ScalaJSKeys.scalaJSOptimizerOptions in ScalaJSBuild.testSuite ~= (_.withDisableOptimizer(true))' \
         ++$scala "testSuite/fastOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \
         testSuite/clean &&
    sbt 'set ScalaJSKeys.scalaJSSemantics in ScalaJSBuild.testSuite ~= { _.transformCheckedBehaviors(_.withAsInstanceOfs(scala.scalajs.tools.sem.CheckedBehaviors.Compliant)) }' \
        ++$scala \
        "testSuite/testOnly -- -- -trhino -tsource-maps -tcompliant-asinstanceofs" \
        "testSuite/fastOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps -tcompliant-asinstanceofs" \
        "testSuite/fullOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps -tcompliant-asinstanceofs" \
        testSuite/clean &&
    sbt 'set ScalaJSKeys.scalaJSSemantics in ScalaJSBuild.testSuite ~= { _.transformCheckedBehaviors(_.withAsInstanceOfs(scala.scalajs.tools.sem.CheckedBehaviors.Compliant)) }' \
        'set ScalaJSKeys.scalaJSOptimizerOptions in ScalaJSBuild.testSuite ~= (_.withDisableOptimizer(true))' \
        ++$scala "testSuite/fastOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps -tcompliant-asinstanceofs" \
        testSuite/clean &&
    sbt 'set ScalaJSKeys.postLinkJSEnv in ScalaJSBuild.testSuite := new scala.scalajs.sbtplugin.env.phantomjs.PhantomJSEnv' \
         ++$scala \
         "testSuite/fastOptStage::testOnly -- -- -tphantomjs" \
         "testSuite/fullOptStage::testOnly -- -- -tphantomjs" \
         testSuite/clean &&
    sbt 'set scalacOptions in ScalaJSBuild.testSuite += "-Xexperimental"' \
         ++$scala "testSuite/testOnly -- -- -trhino -tsource-maps" \
         "testSuite/fastOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \
         "testSuite/fullOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps" &&
    sbt ++$scala \
         "javalibExTestSuite/fastOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps" \
         "javalibExTestSuite/fullOptStage::testOnly -- -- -ttypedarray -tnodejs -tsource-maps" &&
    sbt ++$scala compiler/test reversi/fastOptJS reversi/fullOptJS &&
    sbt ++$scala toolsJS/fastOptStage::test toolsJS/fullOptStage::test &&
    sh ci/checksizes.sh $scala &&
    sh ci/check-partest-coverage.sh $scala
```
(and that's still not all of it ^^, e.g., it does not include our run of partests) But this takes an hour on its own, and, although it's relevant to testing Scala.js, it wouldn't catch more errors coming from regressions in Scala, I think. So we're sparing you this thing.