devmapper fix usage of pool transaction id 

Fixes Issue: #9257

There are multiple issues with current devmapper usage of pool transaction Id. This patch series tries to fix these.

Details of problem and proposed fix are available in Issue: #9257

Thanks
Vivek
I think I fat fingered it during rebase conflict. This closeTransaction() call should be
in deleteDevice() to pair up with openTransaction(). Somehow it bleeded into AddDevice(). I will fix it.