Refactor the benchmark shell code

 - Detect which JS engines are available
 - Always print engine path and version information
 - Always combine all JS files into one script
 - Properly name the combined JS file with mode and engine information
 - The top-level run.sh no longer calls the benchmark run.sh script
Make the engine stubs file optional
Add support for PhantomJS
Update exports.js files to use new Scala.js class name encoding
Reformat code using Scala IDE
Add initial version of sudoku benchmark

Based on Peter Norvigs sudoku solver written in Python.
Use stream to halt when first sudoku solution has been found
Add verification of sudoku solutions
sudoku: use iterator instead of Try()
Rename projects to be grouped together in Eclipse
Move benchmark registration to Scala

And change benchmarks to be singletons.
Fix reference setup to work for node
Exclude Sudoku when running all benchmarks
Disable phantomjs by default
Solve the easiest sudoku grid

Even though it doesn't exercise the whole implementation. This
eliminates the random part, which will make the benchmark more
predictable.
Extract the benchmark list variable name; fix push to use scoped variable
Use Scala.js 0.2-SNAPSHOT
Update links to reflect project name change

scalajs-benchmarks -> scala-js-benchmarks
Fix link to Dart benchmark harness
Merge pull request #4 from phaller/patch-1

Fix link to Dart benchmark harness