Add method to `TX` to execute `SAVEPOINT`: ```go func (tx *TX) Begin() *TX { } ``` `Commit()` and `Rollback()` of nested "transaction" should execute `RELEASE SAVEPOINT` and `ROLLBACK TO SAVEPOINT`. Relevant discussion: https://github.com/golang/go/issues/7898.