make write_many nestable via SAVEPOINT instead of BEGIN/COMMIT

unfortunately BEGIN...COMMIT isn't nestable in sqlite3, but SAVEPOINTS are:
http://www.sqlite.org/lang_savepoint.html

ran into this using write_many while already inside BEGIN...COMMIT. I could rewrite my app but it's simpler to make this lib nestable.