Fix #360: Add a cross-building discipline.

The discipline is to have a double binary version suffix for
Scala.js libraries: '_sjs<Scala.js-bin-ver>_<Scala-bin-ver>'.
For example, when building a library for Scala 2.11.0 and
Scala.js 0.5.0, the suffix will be '_sjs0.5_2.11'.

This commit adds the utilities to build CrossVersions that
follow this discipline, as well as an additional dependency
builder %%% which adds the double binary version suffix to
the module ID. Finally, it configures Scala.js projects to
be published with the double binary version suffix by default.

Note that the scalajs-library and scalajs-jasmine-test-framework
are only published with the Scala binary version, since their
release number is already tight to a Scala.js version. So they
should be added with %% and not %%%.
Tell SBT to nicely trace exceptions from Rhino rather just print
Merge pull request #570 from gzm0/trace-rhino

Tell SBT to nicely trace exceptions from Rhino rather just print
Fix #569: No NPE when unable to resolve source map
Merge pull request #568 from sjrd/cross-discipline

Fix #360: Add a cross-building discipline.
Merge pull request #574 from gzm0/fix-source-map

Fix #569: No NPE when unable to resolve source map
Fix binaryScalaJSVersion.
Merge pull request #576 from sjrd/fix-binaryscalajsversion

Fix binaryScalaJSVersion.