Transactions: implement fork tags to solve the diamond issue
- set_source_options(): force this.need_close to true if there are forks into source options
- Update documentation