Add test for resume & migration

The dirtiness is correctly read and
then migrated to the backing?
Add testing/2/script
Add wait_drop_caches
add wake_up_interruptible but failes in mounting

Totally zeroed logging

PU: 1 PID: 220 Comm: kworker/1:1H Tainted: G           O 3.12.0-rc5 #14
[  375.124933] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
[  375.127068] Workqueue: xfslogd xfs_buf_iodone_work [xfs]
[  375.128244]  0000000000000000 0000000000000001 ffffffff81398dc2
ffff880216646000
[  375.129436]  ffffffffa043263f ffffffffa0430140 ffffffff000008cb
0000000000000000
[  375.130650]  ffff8802152fdcc0 ffff880216646000 ffff88021fc52ac0
ffffe8ffffc40b00
[  375.131798] Call Trace:
[  375.132101]  [<ffffffff81398dc2>] ? dump_stack+0x41/0x51
[  375.132661]  [<ffffffffa043263f>] ? xfs_corruption_error+0x59/0x76
[xfs]
[  375.133706]  [<ffffffffa0430140>] ? xfs_buf_iodone_work+0x41/0x6e
[xfs]
[  375.134748]  [<ffffffffa0444a26>] ? xfs_agf_read_verify+0x93/0xb1
[xfs]
[  375.135796]  [<ffffffffa0430140>] ? xfs_buf_iodone_work+0x41/0x6e
[xfs]
[  375.136963]  [<ffffffffa0430140>] ? xfs_buf_iodone_work+0x41/0x6e
[xfs]
[  375.138091]  [<ffffffff8104ea3c>] ? process_one_work+0x196/0x299
[  375.139159]  [<ffffffff8104eefe>] ? worker_thread+0x126/0x1ec
[  375.140104]  [<ffffffff8104edd8>] ? rescuer_thread+0x26e/0x26e
[  375.140916]  [<ffffffff81053cbc>] ? kthread+0x86/0x8e
[  375.141625]  [<ffffffff81053c36>] ? __kthread_parkme+0x60/0x60
[  375.142311]  [<ffffffff813a266c>] ? ret_from_fork+0x7c/0xb0
[  375.143090]  [<ffffffff81053c36>] ? __kthread_parkme+0x60/0x60
[  375.143958] XFS (dm-5): Corruption detected. Unmount and run
xfs_repair
[  375.145050] XFS (dm-5): metadata I/O error: block 0x1
("xfs_trans_read_buf_map") error 117 numblks 1

use "git add <file>..." t include in what will be committed)
FIX
Refactoring

dm-writeboost-target is refactored well.
But it didn't fix the bug.
DEBUG: Rambuffer'header should be zeroed
FIX: add guard to ignore claen mb in preparing metadata

Test narrowed down.
It doesn't untar and compile Ruby

Don't merge to develop!!!

To merge
1. Understand why we resolve this problem by adding few lines
   What is the problem per se?
2. Test in more complicated recovery case

Also,
removed TRIM lines after migrated.
The blocks discarded will be read in dirty data replay in recovery path.
Since the buffer size is 512KB enough big for block size in SSD
we don't need to discard the data blocks.
If we delete these lines, the performance won't change actually.
part-write-test.sh OK
Ruby-test with recovery OK
Add test 1-4
Code Clean up
Merge branch 'feature/add-test-for-resume-cache' into develop