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
if this is going to be a `get..()`, then lets return the ID here, even if the caller doesn't use it. And if returning an error, `return -1, err`