Add rollback last output functionality

Note that this does not include the transaction finalization which is
part of the rollback last output procedure in the opentransactions
wiki.
This should be a t.Fatalf(). go vet should catch those, IIRC