sheep: set cluster_op_running to false after block request finishes

There is a race problem that sd_block_handler() can be executed before
sd_notify_handler() of the previous block request.  This leads to
segmentation fault.  For example,

 1. There are two requests in pending_block_list.

 2. sd_block_handler() of the first block request is called.
    cluster_op_running is set to true.

 3. cluster_op_done of the first block request is called and
    cluster_op_running is set to false.

 4. sd_block_handler() of the second block request is tried to be
    called.  However, the first one is still in the pending_block_list
    and sd_block_handler() is called against the first request again.

To fix this problem, this patch sets cluster_op_running to false after
the request is removed from the pending_block_list in
sd_notify_handler().

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>