sanlock: fix closing wrong client fd
The symptoms of this bug were inq_lockspace returning
ECONNRESET. It was caused by a previous client closing
the fd of a newer client doing inq_lockspace (when both
clients were running at roughly the same time.)
First client ci1, second client ci2.
ci1 in call_cmd_daemon() is finished, and close(fd)
is called (and client[ci].fd is *not* set to -1).
ci2 is a new client at about the same time and gets the
same fd that had been used by ci1.
ci1 being finished triggers a poll error, which results
in client_free(ci1). client_free looks at client[ci1].fd
and finds it is not -1, so it calls close() on it, but
this fd is now being used by ci2. This breaks the sanlock
daemon connection for ci2 and the client gets ECONNRESET.