```
This PR factors out transport packaging logic from
CConnman::PushMessage().
It's similar to #16202 (where we refactor deserialization).
This allows implementing a new message transport protocol like BIP324.
```
Backport of core [[https://github.com/bitcoin/bitcoin/pull/16562 | PR16562]].