check active close from peer in ngx_http_check_recv_handler()

 If there is no data to receive, we finish the health check before timeout.
 Note that, without this patch, timeout handler will do it for us.
send data later when send() returns zero in ngx_http_check_send_handler()

 When the remote tcp receive buffer has been filled up or the local send buffer
 is completely full, send() could easily return zero.  In this case, we should
 send data later just like we handle NGX_AGAIN.

 A good example from nginx is in ngx_mail_send(), which does the same thing
  for `n == 0` and `n == NGX_AGAIN`.
Merge pull request #20 from chobits/master

check active close from peer in ngx_http_check_recv_handler()