Our unit-test helper `process_transaction()` wasn't returning program errors, which made testing programs tedious and counter-intuitive.
Also: * Add an assertion to the transaction builder if not enough keypairs were provided for all keys that require signatures. * Expose bugs in the runtime.