Delete messages when their self-destruct timers expire
Create a component that tracks pending self-destruct timers and deletes messages when their self-destruct timers expire. Conversation clients will register messages for deletion during delivery. The new component will be responsible for calling back into the client when a message is due to be deleted. This will allow the client to take any necessary steps before deletion, such as declining an open introduction. Subtask of #804
issue