[Iguana] Refactor interpreter and formatter
Summary:
Currently, the iguana interpreter captures for each opcode how the stack was before execution of the opcode.
This is fine for the human readable format, but for the CSV format, it is not what is used in practice. There, you need the stack *after* the execution of the opcode.
For this, we first refactor the interpreter and human-readable formatter, which now produces almost the same output (except in the case of an invalidly encoded opcode).
In a later diff, we can add the CSV format.
Test Plan: ninja check-iguana
Reviewers: Fabien, #bitcoin_abc
Reviewed By: Fabien, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D16851