Output/Input transactions, handle diamond graphs:
- output can now only terminate a transaction if the input has no other outputs
  emitting to the same transaction

- Output.._emit(): encapsulate all output transaction code to
  Output_Transactions..get_options()