Make both server starts throw on error.

There's an asymmetry between the error reporting in the asynchronous and
synchronous server implementations. The update to the test makes sure
the symmetry is enforced.

Fixes #166