Timeout issue

This pull request contains two changes:

(1) `once()` changed to `on()` in index.js so you can run one test server and visit from multiple browsers (in the future I reckon you could have the browser return user agent info to decorate tests from multiple sources. However, once this point is reached, it's probably time for a refactor/rewrite with full tests)

(2) global timeout option so that you can fail the tests if they take too long. To keep in line with the prior behavior, the timeout is infinity by default, but most people might want to shorten this to 10 or 30 seconds. 

I will be producing a separate library for adding timers to individual tape tests since that is beyond the scope of run-browser.