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.
I think both are equally easy to read (maybe not when there are multiple
types created in a single line), but most of our functions are already
overly long (partly because of all the error checking), so I usually
prefer to condense some things when there's no loss of clarity, e.g.:

  withdrawalOutputs[i] = &WithdrawalOutput{
    request: &OutputRequest{amount: amount}}