sockfd_cache: close socket always when node is crashed

When timeout happens, we cannot reuse the socket for other transfers
because data may remain in its send (or recv) buffer.  We have to
close the socket before making the sockfd_cache reusable.

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
refine sd_strerror

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
use sd_strerror to print error reason

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
sheep: show more reason on error

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
sheep: don't recovery from local when epoch equals sys->epoch

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
sheep: recover from local if possible

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>