Description
Currently, the deliveryState (unsettledDeliveries/-Transfers) is maintained in the LinkEndpoint, the Link, and the Session.
The AMQP 1.0 specification states that the persistent state should be the responsibility of the Termini.
This issue proposes to create a common Terminus interface for Source and Target with facilities to handle unsettled transfers (in terms of deliveryTags), implement it on the termini, and ensure on the LinkEndpoints only transient state is handled (i.e., in terms of deliveryIds).