Add savepoint support for transactions