Implement splitLastOutput and hook it with the case where we don't have enough inputs and have to split an output and fulfil just part of it.

The other case where we need to split an output is when the tx is too big, and that's coming in my next PR.
No, this is a real bug. In the original version the split output procedure required the tx to have exactly one output, but we had to change that so it can be used in the case where we need to split an output because of lack of inputs. I'll have to write a test (similar to TestOutputSplittingNotEnoughInputs but with more than 1 tx output) and then fix this