md: add dummy md proper

This add the dummy objects mapping code, which use consistent hashing, for md
like support which aims to manage multiple disks in one node.

This patch just mainly add the compile support for md.c and some initilization
code modifcation to adopt to later series in the sheep core code.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
util: add a helper to purge directory

This is preparation patch for md series.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
sheep, farm: adapt to md support

This patch add another redirection inside mapping of oid-to-path, where we can
play tricks that return obj_path in non-md mode and return actual path from
underling md layer.

This also extends working directory to the sense that it is referred to all
the directories in the md array and add candy helpers to walk through
broadered WD.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
sheep: teach stat_sheep to be md friendly

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
tests: teach tests to test md feature

To test md feature, just pass -md to check
 $ ./check -md ...

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
plain: refine init() interface

obj_path isn't a valid objects path for md mode, so we should not pass
obj_path to store.init(), then we'd better completely remove it since we don't
need it for now.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
tests: add md group to group tests that is md capable

Usage:
 $ ./check -g md -md

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>