shepherd: a new cluster manager specialized for sheepdog

This patch adds shepherd, a new cluster manager for sheepdog. shepherd
is specialized for sheepdog, so it can be optimized only for sheepdog.

shepherd cluster manager is designed as master-slave. So it can be
SPOF. But I'm planning to let it be redundant by utilizing corosync.
If it can be improved, this can be an alternative of the group
management part of ZooKeeper, and it doesn't depend on JVM.

This patch adds the new directory shepherd/ for it, and the
executable binary will be produced as shepherd/shepherd.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
sheep: add a cluster driver for shepherd

This patch adds a cluster driver for shepherd. The source file is
sheep/cluster/shepherd.c.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>