Propagate OpenSsl errors.

We lift OpenSsl errors to IoErrors, conditionally losing some information.

Without a better error abstraction, this is the best we can do without
specializing Connecter to OpenSsl.

Fixes #137
Add serve_once method to Server