Summary:
Update `dump_transactions` and associated txndump Python scripts:
- Enabling `dump_transactions` no longer causes a crash when an invalid value is encountered
- `TransactionConflictData` struct is directly dumped from memory and has gone through multiple changes in the past couple of years
- txndump script has been updated to account for changes in the struct
- Compile-time checks for size of the struct and offset/size of relevant members have been added
- Uninitialized members (which lead to garbage being dumped/read) are now initialized
- Expanded parsing in txndump script to support colocation ids in keys, and int64/string key values
- Tablet id is now dumped for apply intent entries, which are needed by txndump script when loading
- `parse_apply_intent`/`parse_read_intent` now properly parse and save the entry they are parsing
- Support for tombstones has been added to txndump script, since bank_with_contention workload can delete rows (logically equivalent to transferring everything out of the account)
- `dump_transactions_gzip` flag has been changed from int to bool
Jira: DB-8986
Test Plan: Jenkins
Reviewers: sergei
Reviewed By: sergei
Subscribers: ybase
Differential Revision: https://phorge.dev.yugabyte.com/D39521