anet.c: new API anetSendTimeout().
Diskless replication: set / reset socket send timeout.

We need to avoid that a child -> slaves transfer can continue forever.
We use the same timeout used as global replication timeout, which is
documented to also affect I/O operations during bulk transfers.
Translate rio fdset target EWOULDBLOCK error into ETIMEDOUT.

EWOULDBLOCK with the fdset rio target is returned when we try to write
but the send timeout socket option triggered an error. Better to
translate the error in something the user can actually recognize as a
timeout.