Introduce OngoingExchange

**Description:** Introduce OngoingExchange to solve the problem of our code knowing more than it should know before it happens. In upcoming PRs the information at Exchange will be reduced respect with OngoingExchange (that has the benefit of being created after the handshake).
**Testing:** tests pass.
**Coverage:** unchanged.
nit: How about `PeerHandshakeAccepted`?