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 don't like that we're properly aborting the transaction reporting an error and cleaning up, but still leave an open transaction in place, which will be rolled back on next proper daemon restart. However, I can't think of any actual problems this can cause other than some log message about a rolled back transaction.