Improve transaction support

- move lock-error-handling into PromiseQueue worker function
- support additional initializer function for new connections
Make max parallel transactions and retry timeout configurable
Improve documentation