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 this needs to handle the metadata-doesn't-exist case and ignore it. Otherwise if we get a crash after the metadata file is removed but the transaction is open we will be unable to rollback and start the daemon again.