FIXED pressButton timeout with EventSource

There's a race condition here. If this line catches the error first, then it rejects the promise (correct). But if `wait` catches the error first, it resolves the promise (line 333).

But really we don't need to do any of these, just wait for the first `server` event to trigger, delegate to `wait` and let it resolve/reject the promise:

```
promise = new Promise((resolve, reject)=>
  @eventLoop.once("server", ->
    resolve(wait(options))
  )
)
```