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.
You could make such a map, but you'd have to be careful about how you construct it and especially how you use it in the future.

The last input added to fulfil the (n-1)th output might be large enough to also fulfil the (n)th output, so adding that output might not result in the addition of new inputs.

In this case, even though the last input is used to fulfil the last output, you don't want to remove that input when you're removing the last output.