itest: continued itest refactor and fix - I
Depending on #6759, this PR continues the refactor work to fix the itest flakes. A few bugs have been found and documented in new issues along the way. Most of the work has been dedicated to making icase=test_multi-hop_htlc to pass on all backends. I think due to the current itest situation, this test failed or even didn't get a chance to be run due to its preceding tests failed.
These might be the only two "hard" PRs. The rest would be straightforward, just replacing old patterns and fixing flakes if found.
Only the last 28 commits are relevant.
Depends on #6868
@crypt-iq: review reminder @yyforyongyu, remember to re-request review from reviewers when ready
@yyforyongyu, remember to re-request review from reviewers when ready
Can be rebased now!