prevent zero-valued output bug in contract renewal
Currently, if the host tries to renew a contract for which zero collateral is required, it will add a SiacoinOutput to the transaction with a value of 0. This is prohibited by consensus rules, so the transaction is immediately rejected. This edge case was correctly handled in FormContract, but not RenewContract for some reason. I've copied the check from FormContract, and added checks to the TransactionBuilder as well.
Edited by Luke Champine