* start on MBT for ICS20: setting and checking bank balances
* add bank struct for subtracting banks
* reconstruct ibc denominations in the bank
* add some static tests with bank changes tracking
* small fixes
* better error handling
* add Jsonatr transform from Apalache conterexample into OnRecvPacket test
* add example Apalache CE and transformed test
* changed apalache-to-recv-test.json to output arrays instead of records
* add datastructures for parsing TLA+ tests
* remove accidentally committed code
* add conversion from TLA+ structs to Go structs
* encode abstract ids into addresses via hashes
* first run of auto-generated MBT tests
* first run of auto-generated MBT tests: fix ports and channels
* fix small inconsistencies
* fix mbt_relay_test by not setting the bank balances in every iteration
* add test for onTimeoutPacket
* add handling of OnRecvAcknowledgement to mbt relay test
* add handling of SendTransfer
* add relay-test.json
* revert manual changes in relay-test.json
* fix handling of denominations for SendTransfer
* setup two test channels A-B, B-C; fix escrow address encoding
* a test for all handlers passing
* generalize denom handling to arbitrary length + failing denom test
* rename test function
* MBT test for unsecrow tokens
* add model-based generated tests
* add model-based tests (prev commit: addded model)
* transformed json tests with jsonatr
* modify mbt_relay_test.go to execute all MBT tests
* cleanup
* move jsonatr transforms into another dir
* add MBT_README.md
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>