collie: check an error during issuing request correctly

Current collie checks error during issuing request by a return value
of collie_exec_req(). But it doesn't work well because
collie_exec_req() returns result code of the request. The code doesn't
represent that the request itself succeeded or not.

This patch lets collie_exec_req() return 0 or -1 for checking the
error which is caused during request issue. And also fixes invalid
error checking done in node_recovery().

In addtion, the last return statement of collie_exec_req() is changed
like this: return ret ? -1 : 0; This ternay operator is required
because exec_req() returns 1 when it fails. Some part of collie check
an error of collie_exec_req() by if (ret < ), and other part check by
if (ret). The above ternay operator is for avoiding return 1 and let
these error handlers work correct.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>