deleteSession

open suspend override fun deleteSession(key: SessionKey)

Waits for the session's buffered writes, since its app: and user: changes outlive it, then deletes it from delegate. Like flush, it throws instead if one failed or a failure is unreported, so the caller can retry. Stop appending first: an append made after the delete starts is not waited for, and if it reaches the store after the delete the store may reject it, leaving a failure that flush reports.