Fix #927: Add support for automatic Scala.js cross versioning

When fully cross-building against Scala JVM and Scala.js, your library
dependencies are likely the same, except for the _sjs<v> suffix. With
this commit, you will be able to write:

```
libraryDependencies <++= Seq(
  "org.example" %?% "blah-lib" % "0.2",
  "org.example" %?% "test-lib" % "0.1" % "test"
)
```

and sbt will automatically figure out if the Scala.js suffix is
required (i.e. whether the setting is used in a Scala.js project).
Merge pull request #939 from gzm0/auto-dependency

Fix #927: Add support for automatic Scala.js cross versioning
Fix #940: Additional pattern-match reverse engineering pattern
Merge pull request #941 from gzm0/pattern-match

Fix #940: Additional pattern-match reverse engineering pattern
Fix #860: Upgrade to bintray-sbt 0.1.2. Get rid of hacks.
Correct wrongly named environment property
Fix #928: Increase partest thread pool timeout to 5 hours

Currently, a successful full nightly build takes between 3:30 and 4:00
hrs to run (depending on other load on the CI system). The default
partest thread pool timeout (4h) is therefore too tight and probably
made some builds fail unnecessarily. We increase the timeout to 5h to
allow for some slack.
Merge pull request #942 from gzm0/upgrade-bintray-plugin

Fix #860: Upgrade to bintray-sbt 0.1.2. Get rid of hacks.
Merge pull request #943 from gzm0/improve-partest

Improve partest
p Implement essential java.io.Readers
p Implement essential java.io.Writers
p Implement java.io.ByteArrayOutputStream
Create a jsDependencyManifest task. Integrate with ExternalCompile
Implement java.util.zip.ZipInputStream
Remove unused code reading source maps
Refactor tools.json to abstract backend-specifics into a single file
Cross-build Scala.js tools
Implement virtual file systems for Node.js
Link HelloWorld in JavaScript for testing