Adds support for SAVEPOINT, ROLLBACK TO SAVEPOINT, and RELEASE SAVEPOINT

Passes tests in all 3 DB engines.

PostgreSQL (and possibly others) won't accept savepoint names as bind vars, so they are interpolated directly. Savepoints rarely come from user input and the function docs warn against using savepoint names derived from user input, but it's very possible that a developer could slip up. Any suggestions?