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
This is missing a refreshTransaction() call.
And even with that I'm a bit worried about this. We create a transaction with some initial device id that turns out to be actually in use. What if we crash before the transaction file is refreshed? Then we will rollback this by deleting the already existing device!