test262.py: only include helper scripts when needed

test262.py: only supply async helper scripts when test is async
sth.js: factor out function isAsyncTest()
timer.js: improve workaround for async tests when Promise is defined but setTimeout is noot

timer.js emulates setTimeout using Promise by doing a busy loop that checks
if `timeout` milliseconds have elapsed.  Modified check to (timeLeft > 0) instead
of (!timeLeft) to prevent infinite loop when check does not happen to run
at precise millisecond timeout expires.

Because test262.py did not support the $INCLUDE directive, some helper
scripts were added to every test -- notably testIntl, timer, and donePrintHandle
Now that $INCLUDE is supported, these can be dropped, speeding overall test run time

Additional bonus: unconditionally including `timer.js` in all console tests caused every test to fail when running with node 0.10, due to a `ReferenceError` on the undefined var `Promise`.  Now node 0.10 will only fail async tests -- which is still a problem, but a much more manageable one, since the only tests that currently are async are tests of Promises, which are not implemented in node 0.10.