Only return from BEV_EOF|READ if errno is EAGAIN

In a prior commit, I attempted to fix some socket handling errors but returning
if the events in the event callback were BEV_EVENT_EOF | BEV_EVENT_READING. In
most cases this would match for any type of socket error, resulting in resources
never being free'd or sockets never being closed.

This patch will check the value of errno for EAGAIN (recv returned 0), and only
immediately return if the branch is true.