Interface that specifies an API to programmatically manage transaction
savepoints in a generic fashion. Extended by TransactionStatus to
expose savepoint management functionality for a specific transaction.
Note that savepoints can only work within an active transaction.
Just use this programmatic savepoint handling for advanced needs;
else, a subtransaction with PROPAGATION_NESTED is preferable.
This interface is inspired by JDBC 3.0's Savepoint mechanism
but is independent from any specific persistence technology.