Feature Request: Add Variants of Storage API that accept passed in db.Tx

When writing complex custom rpcs, it is often desired to have control over the db transaction lifecycle. The storage APIs however start their own transaction; to avoid isolation issues, it would be ideal if the storage APIs could have additional variants that accept a pre-existing transaction.

I can see how this might be useful for storage and other database-oriented operations. Can you open an issue on the tracker for us to track this feature request?