Fix #123: do not load the test framework if its class is not there.

The Scala.js-specific sbt test framework must not be loaded when
its implementing class (which is specified with the setting
`scalaJSTestFramework`) is not on the classpath. Loading it can
cause problems if another sbt test framework has to be used.
Implemented System.nanoTime
Merge pull request #107 from pkolaczk/system-nano-time

Implemented System.nanoTime
Fix #124: Add setting to opt-out setup of the Scala.js runner.

Setting `scalaJSSetupRunner in Compile` to false will now
disable the installation of the Scala.js runner for use by the
run task.
Add methods to mock JS clock to Jasmine wrapper
Fix #88: Implement AbstractPromise, add simple ExecutionContexts for JavaScript
Clean-up of settings related to the ScalaJSEnvironment.

The task prepareEnvironment has been renamed to
scalaJSEnvironment, and has been "promoted" to be part
of scalaJSConfigSettings. It is not scoped by task anymore.

Its dependencies, sources and fullClasspath, are now
scoped to scalaJSEnvironment itself instead of run or test.
Merge pull request #126 from gzm0/execution-context

Execution contexts. Enables use of Future and Promise
Remove unnecessary semicolon
Merge pull request #127 from gzm0/execution-context

Remove unnecessary semicolon
Merge pull request #128 from sjrd/fix/issues-123-124

Fix issues 123 and 124 + clean-up scalaJSEnvironment settings.
Fix #125: Correctly resolve overload when converting scala.Function to js.Function
Merge pull request #129 from gzm0/func2jsFuncOverload

Fix #125: Correctly resolve overload when converting scala.Function to js.Function
Merge branch 'master' into scala-2.11