Add SAVEPOINT (Fixes #56)

We needed this so I hacked it in and added a test case. I ran into trouble getting Mockery to correctly mock the object, so I had to change the tests up a bit.
Yup, I meant say if you end up using the TransactionStack object a second time in a request, is it a problem that you reuse `savepoint_1`, etc.