experimental changes on handling simultaneous transactions

let's avoid running a transaction inside another one.
unless { savepoint: true } is specified, a transaction
is isolated from the others. NOTE: needs more testing
let's be more precise