recovery: start tgt_epoch with rw->epoch instead of 'rw->epoch - 1'

MD recovery will start recovery without epoch lifted. This will cause troulbe
when sys_epoch = 1, which will result in tgt_target = 0, and wrap around later
to be a very large but valid epoch to the recovery code and cause trouble.

This is a prepare patch for MD recovery.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
md: implement automatic recovery

I choose to take advantage of current node recovery mechanism because:
 1. It supports multiple failure events
 2. It provide nice race-free and wait queue mechanism for VM IO requests and
    recovery IO requests.
 3. already-made logic that can recover objects from other nodes. This is very
    crutial to md recovery because we distribute objects across disks without
    extra copies.
 4. Maintan one mechanism is always better than two

So disk failure will simply be seen as a node recovery without epoch lifted and
md recovery has all the merits of node recovery:
 1. multiple disk failures handling
 2. serve VM IO requests while in recovery
 3. can hot-plug and hot-unplug the disks (missing part yet)

Besides, another nice spin-off is that with unified recovery, both node and disk
recovery can suspend and supersede each other (missing part yet)

The missing parts will be implemented in later patch.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
tests: modify _start_sheep helper with one more disk

This is a prepare patch.

Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
tests: add a test 055 for md

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