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