sanlock: fix connection processing error path
Don't close the connection fd in process_cmd_thread_unregistered
error path, avoiding possible problems like that fixed in
62ba5d194100f71cbed32214e0aeb76f690f4093.
Handle it like process_cmd_thread_registered by receiving any
data, sending an error back to the client, and resume the client.
Call client_free() in the following cases to close
the client connection instead of doing nothing and
waiting for a poll error on the connection to clean
it up later:
- when recv() returns zero
- when client_suspend() finds an error
- when receiving an unknown cmd
These error paths are not exercised by normal usage.