datastore: mark failed rollbacks as finalized

If an error occurs upstream while trying to rollback a
transaction, we can mark the transaction as `finalized`
regardless. By marking it `finalized`, we don't then
later make an accidental commit when `done` is
executed.

Fixes #237
Merge pull request #240 from stephenplusplus/spp--finalize-rollbacks

datastore: mark failed rollbacks as finalized