dog: add command to check and repair cluster

This patch adds a 'dog cluster check' command to check all the
objects' consistency.  While 'dog vdi check' is used when VM stops
unexpectedly because of the gateway failure, 'dog cluster check' is
expected to be used for fully checking of cluster status, e.g., after
total node failure happens or sheepdog hangs because of bugs.

With the current implementation, running 'dog cluster check' is same
as doing 'dog vdi check' against all the vdi images.  However, this is
usually very wasteful because vdis can share the same objects
especially when there are many snapshots.  I think of improving it to
skip redundant checks.

I'm planning to add other check commands later:

 - 'collie cluster check reference' : fix reference counts for object reclaim
 - 'collie cluster check epoch'     : fix a broken epoch file

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