sheep: teach journal file to be md friendly

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
tests/047: add md test support

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: teach journal file to handle epoch and config write

journal_write_epoch and journal_write_config is a placeholder for later patch.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: use new journal API for config file

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: rename journal_file.c as journal.c

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: journaling epoch file write

Also bundle two writes into one.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
sheep: handle broken epoch file at get_latest_epoch

Without journaling enabled, we might have empty epoch file or
partial write file.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>