better factoring of savepoint handling

* StatementExecution now completely encapsulates savepoint manipulations
* Savepoint class extracted in StatementExecution