stream_socket_client may return FALSE (and $errno may be NULL on HHVM)

FIX: on HHVM, stream_socket_client returns $errno of NULL on success.
FIX: stream_socket_client can return FALSE which indicates an error (see php.net/stream_socket_client).

Note that I have not tested what HHVM returns for $errno for all cases. It is possible that if an error occurs $errno is NULL (i.e. HHVM is not setting $errno in all cases and that is their bug). For Zend Engine, the additional test for $errno being NULL should not cause any change in behaviour.