DatasetInPool destroy: detach dataset tree heads

When destroying dataset on primary/hypervisor pool, history flow
is cut. All dataset trees in all backup datasets must therefore
be detached.
Chain Vps::Create: fix class name
Vps reinstall: reuse existing chains

Reinstall transaction has been deleted. It now uses a combination
of DatasetInPool::Destroy, Vps::Destroy, Storage::CreateDataset
and Vps::Create.
Chain DatasetInPool::Destroy: option to keep top-level dataset
Chain Vps::Destroy: use DatasetInPool::Destroy
Chain Vps::Create: fire hook DatasetInPool.create