deduplication: make it recursively deduplicate all parent snapshots

If we write a page into image and punch it from parnet, checking
only one level down is not enough -- the iovec can reside deeper.

That said, make the hole punching be recursive.

Signed-off-by: Tikhomirov Pavel <snorcht@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
test: recursive deduplication

check if size of second parent-level image become smaller

Signed-off-by: Tikhomirov Pavel <snorcht@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
test: recoursive autodedup

verify decline in size of second parent-level image file

Signed-off-by: Tikhomirov Pavel <snorcht@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>