change the savepoint interface to allow passing the name.
extract adapter savepoint implementations into `abstract/savepoints.rb`.