This is a workaround for what I understand to be a Netty bug, but now I can't find it upstream (will investigate). The issue is that the `SslHandler` itself can get removed from the pipeline in rare circumstances, and that's what we're guarding against here. That *shouldn't* ever happen, but it does sometimes.

In the event of a connection failure or handshake problem or whatever, the future will complete, but its `cause` will be non-`null`; it won't actually throw an exception.