tls: always reset this.ssl.error after handling

Otherwise assertion may happen:

    src/node_crypto.cc:962: void node::crypto::Connection::ClearError():
    Assertion `handle_->Get(String::New("error"))->BooleanValue() == false'
    failed.

See #5058
tls: handle ZERO_RETURN

ZERO_RETURN is generally returned when other side has closed (with
CLOSE_NOTIFY) connection. In such cases, error should be emitted.

see #4712