Add `delay` & `output` options

(This PR was created as collaboration for #5)

@yosuke-furukawa I pulled in your commits, made some modifications, and adjusted the test suite.

To summarize, there are two new options:

- `delay` (was `startTimeout`)
- `output` (was `startMessage`)

The functionality is largely the same, except for the defaults.

To maintain BC compatibility, `output` defaults to `.+`, and delay defaults to `0`.

I updated `test/server.js` to do a significant amount of logging *before* and *after* the server starts.  Consequently, I updated several tests to work as expected.

Personally, I think this works very well, particularly since it uses your existing commits as a base :)

Let me know if it's good for publishing!